pixi CLI. Extensions are standalone executables that integrate seamlessly with Pixi’s command structure.
How Extensions Work
When you runpixi <command>, Pixi searches for an executable named pixi-<command> and executes it with any additional arguments.
Naming Convention
Extensions follow the pattern:pixi-{command}
Discovery Mechanism
Pixi discovers extensions by searching forpixi-* executables in:
- PATH Environment Variable - All directories in your
PATH pixi globalDirectories - Managed bypixi global install
pixi --list alongside built-in commands.
Installing Extensions
Using pixi global (Recommended)
Install extensions usingpixi global install:
- Isolated environments prevent dependency conflicts
- Automatic discovery without modifying PATH
- Easy management with
pixi global listandpixi global remove - Consistent experience with built-in commands
Manual Installation
Install by placing the executable in any directory in your PATH:Popular Extensions
pixi-pack
Package Pixi environments as portable archives.pixi-diff
Compare lockfiles to see what changed between environments.- JSON output for programmatic use
- Integration with git history
- Human-readable markdown reports
- Terminal rendering with glow
See pixi-diff documentation for full usage details.
pixi-inject
Inject conda packages into existing Pixi environments.- Testing locally built packages
- Patching environments without rebuilding
- Development workflows
pixi-skills
Manage and install coding agent skills across LLM backends.- Interactive skill management UI
- Discover skills from pixi environments
- Install into Claude, Aider, and other AI coding assistants
- Support for local and global skill scopes
Creating Extensions
Build your own Pixi extensions to add custom functionality.Basic Extension Example
pixi-hello
Extension in Rust
src/main.rs
Cargo.toml
Best Practices
Descriptive Names
Use clear, descriptive names:
pixi-diff is better than pixi-d.Standard Arguments
Support
--help and follow UNIX conventions for flags and exit codes.Exit Codes
Use exit code 0 for success, non-zero for errors.
Pixi Integration
Respect Pixi’s environment management and work with its conventions.
Documentation
Provide clear usage documentation and examples.
Command Suggestions
Pixi suggests similar commands when you mistype:Listing Extensions
View all available commands including extensions:- Built-in Pixi commands
- Installed extensions
- Brief descriptions
Extension Development Tips
Argument Handling
Extensions receive all arguments after the command name:Environment Variables
Access Pixi’s environment:Error Handling
Testing
Test extensions as standalone programs:Publishing Extensions
As Conda Packages
Publish to conda-forge or custom channels:meta.yaml
As Binaries
Publish releases on GitHub:- Build for multiple platforms
- Create GitHub release
- Upload binaries
- Document installation in README
Community
Discord
Join the Pixi Discord for discussions and support.
GitHub
Contribute to Pixi or browse existing extensions.
See Also
- pixi-diff - Compare lock files
- pixi-inject - Inject packages
- pixi-skills - Manage AI agent skills
- pixi-pack - Package environments
- Global Tools - Managing global installations