To upgrade your Bun CLI version, see
bun upgrade.terminal
terminal
--interactive
Use the --interactive flag to choose which packages to update:
terminal
Interactive Interface
The interface displays packages grouped by dependency type:- Packages are grouped under section headers:
dependencies,devDependencies,peerDependencies,optionalDependencies - Each section shows column headers aligned with the package data
- Package: Package name (may have a suffix such as
dev,peer, oroptional) - Current: Currently installed version
- Target: Version that would be installed (respects semver constraints)
- Latest: Latest available version
Keyboard Controls
Selection:- Space: Toggle package selection
- Enter: Confirm selections and update
- a/A: Select all packages
- n/N: Select none
- i/I: Invert selection
- ↑/↓ Arrow keys or j/k: Move cursor
- l/L: Toggle between target and latest version for current package
- Ctrl+C or Ctrl+D: Cancel without updating
Visual Indicators
- ☑ Selected packages (will be updated)
- □ Unselected packages
- > Current cursor position
- Colors: Red (major), yellow (minor), green (patch) version changes
- Underlined: Currently selected update target
Package Grouping
Packages are organized in sections by dependency type:- dependencies - Regular runtime dependencies
- devDependencies - Development dependencies
- peerDependencies - Peer dependencies
- optionalDependencies - Optional dependencies
dev, peer, optional).
--recursive
Use the --recursive flag with --interactive to update dependencies across all workspaces in a monorepo:
terminal
--recursive, the interface adds a “Workspace” column showing which workspace each dependency belongs to.
--latest
By default, bun update updates each dependency to the latest version that satisfies the version range in your package.json.
To update to the latest version regardless of whether it satisfies that range, use the --latest flag:
terminal
package.json:
package.json
bun updatewould update to a version that matches17.x.bun update --latestwould update to a version that matches18.xor later.
CLI Usage
terminal
Update Strategy
boolean
Always request the latest versions from the registry & reinstall all dependencies. Alias:
-fboolean
Update packages to their latest versions
Dependency Scope
boolean
Don’t install devDependencies. Alias:
-pboolean
Install globally. Alias:
-gstring
Exclude
dev, optional, or peer dependencies from installProject File Management
boolean
Write a
yarn.lock file (yarn v1). Alias: -yboolean
Don’t update
package.json or save a lockfileboolean
default:"true"
Save to
package.json (true by default)boolean
Disallow changes to lockfile
boolean
Save a text-based lockfile
boolean
Generate a lockfile without installing dependencies
Network & Registry
string
Provide a Certificate Authority signing certificate
string
Same as
—ca, but as a file path to the certificatestring
Use a specific registry by default, overriding
.npmrc, bunfig.toml and environment variablesnumber
default:"48"
Maximum number of concurrent network requests (default 48)
Caching
string
Store & load cached data from a specific directory path
boolean
Ignore manifest cache entirely
Output & Logging
boolean
Don’t log anything
boolean
Excessively verbose logging
boolean
Disable the progress bar
boolean
Don’t print a summary
Script Execution
boolean
Skip lifecycle scripts in the project’s
package.json (dependency scripts are never run)number
default:"5"
Maximum number of concurrent jobs for lifecycle scripts (default 5)
Installation Controls
boolean
Skip verifying integrity of newly downloaded packages
boolean
Add to
trustedDependencies in the project’s package.json and install the package(s)string
default:"clonefile"
Platform-specific optimizations for installing dependencies. Possible values:
clonefile (default),
hardlink, symlink, copyfileGeneral & Environment
string
Specify path to config file (
bunfig.toml). Alias: -cboolean
Don’t install anything
string
Set a specific cwd
boolean
Print this help menu. Alias:
-h