Skip to main content
The pixi self-update command updates the pixi binary to the latest version or downgrades to a specific version.

Usage

Options

Version Selection

string
Specify the desired version to upgrade or downgrade to.Format: X.Y.Z (without leading ‘v’)If not specified, updates to the latest version.
Leading ‘v’ characters are automatically removed if provided (e.g., v0.25.0 becomes 0.25.0).

Dry Run

boolean
default:"false"
Show what would be updated without actually modifying the binary.Displays release notes and version changes without performing the update.
Example output:

Force Update

boolean
default:"false"
Force download and replace even if versions match.
  • With --version: Downloads specified version even if it’s already installed
  • Without --version: Always downloads and replaces with the latest version

Skip Release Notes

boolean
default:"false"
Skip printing release notes during update.Useful for automated scripts or CI/CD pipelines.

Behavior

Automatic Version Detection

When no --version is specified:
  1. Fetches the latest release from GitHub
  2. Compares with current version
  3. Downloads and installs if newer version is available

Version Comparison

The command handles different scenarios:
  • Up to date: No action taken, displays current version
  • Upgrade: Newer version available, downloads and installs
  • Downgrade: Older version specified, prompts for confirmation (unless --force or --version is used)

Downgrade Confirmation

When downgrading without explicit version:
Prompts:
Skip prompt by specifying version:

Release Notes

By default, release notes are displayed before updating:

Examples

Update to Latest Version

Output:

Check for Updates (Dry Run)

Shows what would be updated without changing anything.

Update to Specific Version

Downloads and installs version 0.24.0.

Downgrade to Older Version

Downgrades from current version to 0.23.0 (prompts for confirmation if needed).

Force Reinstall Current Version

Redownloads and reinstalls even if already on the latest version.

Silent Update (No Release Notes)

Updates without displaying release notes.

Automated Update in CI

Ideal for CI/CD pipelines where you always want the latest version.

Platform Support

Supported platforms:
  • Linux: x86_64-unknown-linux-musl, aarch64-unknown-linux-musl
  • macOS: x86_64-apple-darwin, aarch64-apple-darwin
  • Windows: x86_64-pc-windows-msvc, aarch64-pc-windows-msvc
The correct binary is automatically detected based on your system.

Update Process

  1. Fetch version information: Queries GitHub for latest release or specified version
  2. Display release notes: Shows what’s changed (unless --no-release-note)
  3. Download archive: Downloads platform-specific binary archive
  4. Extract binary: Unpacks the archive to temporary directory
  5. Replace binary: Replaces current pixi binary with new version
  6. Verify: New version is immediately available

Troubleshooting

Download Failed

Error: Failed to download the archive Solution: Check internet connection and GitHub availability:

Version Not Found

Error: URL returned 404 Solution: Verify the version exists:

Permission Denied

Error: Permission denied when replacing binary Solution: Ensure you have write permissions:

Already Up to Date

Message: pixi is already up-to-date To reinstall anyway:

Release Notes Failed to Fetch

Warning: Failed to fetch release notes The update continues despite this warning. Check the release page manually:

Self-Update Disabled Builds

Some pixi installations (e.g., via package managers like Homebrew, apt, or Conda) may have self-update disabled.
Error message:
Solution:

Environment Variables

No environment variables affect pixi self-update.

Exit Codes

  • 0: Success (updated or already up-to-date)
  • 1: Error (download failed, permission denied, etc.)

Security

The self-update mechanism downloads binaries from official GitHub releases at https://github.com/prefix-dev/pixi/releases.
All downloads are verified by:
  • Using HTTPS for secure transport
  • Respecting system TLS configuration
  • Using official GitHub release artifacts

Version Format

Versions follow Semantic Versioning:
  • Format: MAJOR.MINOR.PATCH
  • Example: 0.25.0
Do not include the ‘v’ prefix:

See Also