# Bun 1.4.3 puts a TypeScript 7 checker inside the runtime — and gates tests and builds on types

Bun 1.4.3 ships `bun check`, a built-in TypeScript 7-compatible checker that can stop execution, tests or builds when types fail. Bun reports large speed and memory gains, but its own benchmarks and migration caveats matter.

Type-checking is now a first-class Bun command and optional precondition for running code. It may replace `tsc --noEmit` for some projects, not TypeScript's declaration emitter or editor language service.

- Status: Active
- Published: 2026-10-12T17:56:55+13:00
- Updated: 2026-10-12T17:56:55+13:00
- Categories: Web Development, JavaScript, Developer Tools
- Tags: build tools, Bun, Developer tools, JavaScript, TypeScript
- Canonical HTML: https://beyondthe.news/dossiers/bun-1-4-3-native-typescript-checker-check-run-test-build

## 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.

## Key details

- Bun v1.4.3 release: October 10, 2026.
- Built-in `bun check` is based on typescript-go and matches TypeScript 7.0.2 semantics.
- `bun run --check`, `bun test --check` and `bun build --check` prevent their operation on type errors.
- Bun reports 51,210 of 51,210 TypeScript conformance tests passed in its own test setup.
- 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.
- No JavaScript or `.d.ts` output and no built-in editor language server.
- TypeScript 7 defaults and removed options can require tsconfig migration.
- This is distinct from the Bun 1.4 Rust rewrite already covered by BTN.

## Builder takeaways

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

## What to watch

- 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.

## Uncertainties

- 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

- [Bun v1.4.3 release announcement](https://bun.com/blog/bun-v1.4.3) — Bun · primary release notes · 2026-10-10T00:00:00+13:00. Command semantics, conformance totals, benchmark hardware and limitations.
- [Bun type-checking documentation](https://bun.com/docs/runtime/check) — Bun · primary documentation · 2026-10-11T00:00:00+13:00. Project references, TypeScript 7 migration, output formats and mixed-version script caveats.
- [Bun 1.4.3 adds a built-in TypeScript checker](https://machineherald.io/article/2026-10/10-bun-143-adds-bun-check-a-built-in-typescript-type-checker-that-bun-says-runs-3x-to-64x-faster-than-tsc-702/) — The Machine Herald · independent reporting · 2026-10-11T00:00:00+13:00. Separates vendor performance claims from unreplicated benchmarks and flags remaining mismatch cases.

