Behavior
bun outdated compares installed package versions against the latest available versions in the registry. It shows which packages have updates available.
Output
The command displays a table with:- Package - Package name and type (dev, peer, optional)
- Current - Currently installed version
- Update - Latest version matching the semver range
- Latest - Absolute latest version available
Filtering
Check specific packages
Pattern matching
Check all packages
Workspaces
In a workspace project, check outdated dependencies across all workspaces:Flags
--recursive (-r)
Check outdated dependencies in all workspace packages.
--filter <pattern>
Check specific workspace(s).
--cwd <path>
Run command in specified directory.
--verbose
Show detailed information including all available versions.
--silent
Suppress output if no packages are outdated (useful in scripts).
Exit codes
0- No outdated packages or command succeeded1- Error occurred
Understanding version columns
Current
The version currently installed innode_modules.
Update
The latest version that satisfies the semver range inpackage.json.
For example, if package.json has:
- 18.2.0 (current)
- 18.2.1 (patch)
- 18.3.0 (minor)
- 19.0.0 (major)
18.3.0 (latest that satisfies ^18.2.0).
Latest
The absolute latest version available in the registry, ignoring semver ranges.Color coding
Versions are color-coded to show update type:- Green - Patch update (1.0.0 → 1.0.1)
- Yellow - Minor update (1.0.0 → 1.1.0)
- Red - Major update (1.0.0 → 2.0.0)
Examples
Check all dependencies
Check specific packages
Check with pattern
No outdated packages
Updating packages
After checking for outdated packages, update them:CI/CD usage
Check for outdated dependencies in CI:Performance
bun outdated is fast because:
- It reads from Bun’s package manifest cache
- It queries registries in parallel
- It reuses lockfile information when possible