# Detect when code is executed with Bun (/docs/guides/util/detect-bun)

<!-- agent-signals: reading_time_min: 1 · est_tokens: 148 · updated: 2026-07-28 -->
Related: [Upgrade Bun to the latest version](/docs/guides/util/upgrade.md), [Get the current Bun version](/docs/guides/util/version.md), [Hash a password](/docs/guides/util/hash-a-password.md), [Generate a UUID](/docs/guides/util/javascript-uuid.md), [Encode and decode base64 data](/docs/guides/util/base64.md), [Compress and decompress data with gzip](/docs/guides/util/gzip.md)

Check `process.versions.bun` to detect whether code is running in Bun. This works in both JavaScript and TypeScript without extra type definitions.

```ts
if (process.versions.bun) {
  // this code will only run when the file is run with Bun
}
```

***

Alternatively, check for the `Bun` global, the same way you'd check for `window` to detect a browser.

<Note>
  In TypeScript, this is a type error unless `@types/bun` is installed. Install it with `bun add -d @types/bun`.
</Note>

```ts
if (typeof Bun !== "undefined") {
  // this code will only run when the file is run with Bun
}
```
