Key details

  1. Bun v1.4.3 release: October 10, 2026.
  2. Built-in `bun check` is based on typescript-go and matches TypeScript 7.0.2 semantics.
  3. `bun run --check`, `bun test --check` and `bun build --check` prevent their operation on type errors.
  4. Bun reports 51,210 of 51,210 TypeScript conformance tests passed in its own test setup.
  5. Vendor benchmark: 3x–6.4x faster than native TypeScript 7.0.2 `tsc` on a 16-core Apple silicon Mac; 2.2x–4.9x lower memory.
  6. No JavaScript or `.d.ts` output and no built-in editor language server.
  7. TypeScript 7 defaults and removed options can require tsconfig migration.
  8. This is distinct from the Bun 1.4 Rust rewrite already covered by BTN.

What builders should take away

  1. Trial `bun check` beside `tsc --noEmit` before making it your only CI type gate.
  2. Use `--check` to fail builds and tests early, while retaining `tsc` when declarations are required.
  3. Align installed Bun versions across scripts, CI and local machines to avoid command ambiguity.
  4. Treat vendor benchmarks as hypotheses to measure on your own codebase.

What changed

On October 10, 2026, Bun released 1.4.3 with `bun check`, a built-in type checker ported from typescript-go that targets TypeScript 7.0.2 semantics. It reads project tsconfig.json files, reports diagnostics and does not need a separately installed `typescript` package. The new `--check` option integrates type validation into `bun run`, `bun test` and `bun build`, stopping the requested operation when types fail. Bun reports passing all 51,210 cases in its TypeScript 7.0.2 conformance run and claims 3x–6.4x faster checks and 2.2x–4.9x lower memory than native `tsc` 7.0.2 on a 16-core Apple silicon Mac. These are project-produced measurements, not independently replicated results.

Why it matters

Type checks are often a separate CI step, package dependency and source of feedback delay. Bun now gives teams a way to enforce a type-correctness gate at the same command boundary as execution, testing or bundling. For a large monorepo, faster checks could reduce the cost of frequent validation, but the TypeScript version and configuration defaults are part of the migration decision. This release is a separate toolchain change from Bun 1.4's earlier Rust-runtime rewrite and Node compatibility work.

Type-checking moves into Bun's normal workflow

`bun check` reads tsconfig.json and can check individual files, projects or references; `bun check -b` follows project references. `bun run --check`, `bun test --check` and `bun build --check` enforce checking before their work; a failed build check writes no output. Bun also offers structured, colour-free diagnostics when common coding-agent environment variables are present. The checker does not emit JavaScript or declaration files, and Bun does not ship a language server as part of this feature.

Performance and conformance claims need a real-world test

Bun's 16-core Apple silicon tests compare its checker with TypeScript 7.0.2's native `tsc`, not the older JavaScript-based compiler. It reports VS Code's 9,795-file source tree at 1.24 seconds versus 5.98 seconds, and Next.js's `packages/next` at 0.28 versus 1.82 seconds. Bun says all 51,210 conformance cases passed, but separately reports a small number of mismatches in additional fuzzing and repository configuration tests. These claims have not been independently reproduced in the sources reviewed; run both checkers on your own project before replacing a CI gate.

The TypeScript 7 contract can break old configurations

The built-in checker follows TypeScript 7 behaviour even if an older `typescript` package is installed. Bun documents stricter defaults, changed type declaration discovery and removed compiler options, including old module-resolution settings and ES5 targets. A project may therefore report new diagnostics for configuration reasons rather than actual code regressions. Editors continue using their own TypeScript language service; declarations still need `tsc` or another compatible emitter.

Adoption checklist

Pin Bun 1.4.3 or later across CI and developer machines; compare `bun check --no-pretty` with `tsc --noEmit --pretty false` on a representative codebase; inspect tsconfig and project references; measure wall time and peak memory on your own hardware; and retain declaration generation where publishing libraries. Bun warns that an older Bun binary resolving a script named `check` can recurse, so mixed-version teams should prefer a `typecheck` script or upgrade consistently.

What to watch next

  • Independent correctness and performance comparisons against TypeScript 7 on varied monorepos and platforms.
  • Bug reports about compiler-option migration and diagnostic parity.
  • Whether Bun adds declaration emission, language-server support or stable TypeScript compiler API integration.

Still unclear

  • Bun's conformance and performance numbers are vendor-run; independent replication is not established.
  • Some TypeScript 7 configuration changes may create diagnostics unrelated to application defects.
  • The practical cost of using a separate editor language service remains workload-specific.

Sources

Direct reading behind this dossier.

3 sources
Bun type-checking documentation
Bun primary documentation

Project references, TypeScript 7 migration, output formats and mixed-version script caveats.

Discussion

Discussion is reader-contributed. Comments are not part of the BTN dossier or its editorial evidence.

0 visible comments

Join the discussion

Keep comments useful and relevant. Reader contributions may be moderated and are not BTN editorial evidence.

Sign in to comment