> ## Documentation Index
> Fetch the complete documentation index at: https://bun.manicule.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For every page in one file, fetch https://bun.manicule.dev/llms-full.txt (large).
> To search and read these docs as tools, connect the MCP server at https://bun.manicule.dev/api/mcp.
> Every agent surface: https://bun.manicule.dev/.well-known/llms-manifest.json

# Get the path to an executable bin file (/guides/util/which-path-to-executable-bin)

<!-- agent-signals: reading_time_min: 1 · est_tokens: 83 · updated: 2026-08-02 -->
Related: [Upgrade Bun to the latest version](/guides/util/upgrade.md), [Detect when code is executed with Bun](/guides/util/detect-bun.md), [Get the current Bun version](/guides/util/version.md), [Hash a password](/guides/util/hash-a-password.md), [Generate a UUID](/guides/util/javascript-uuid.md), [Encode and decode base64 data](/guides/util/base64.md)

`Bun.which` finds the absolute path of an executable file, like the `which` command on Unix-like systems.

```ts icon="/icons/typescript.svg" title="foo.ts"
Bun.which("sh"); // => "/bin/sh"
Bun.which("notfound"); // => null
Bun.which("bun"); // => "/home/user/.bun/bin/bun"
```

***

See [`Bun.which`](/runtime/utils#bun-which).
