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.