GitHub - microsoft/pave: simple PATH management command-line

2 min read Original article ↗

pave is a cross-platform CLI for managing your PATH. It supports Windows, macOS, and Linux across multiple shells.

Getting Started

Installation

homebrew (macOS/linux)

brew tap microsoft/pave https://github.com/microsoft/pave
brew install pave

winget (windows)

winget install Microsoft.Pave

download from releases

download the latest release

Shell Plugin

On Windows, pave writes directly to the registry and broadcasts WM_SETTINGCHANGE.

On macOS/Linux, add the plugin to your shell config:

Bash

Add to ~/.bashrc:

export PATH="$(pave env bash)"
Zsh

Add to ~/.zshrc:

export PATH="$(pave env zsh)"
Fish

Add to ~/.config/fish/config.fish:

set -gx PATH (pave env fish)
PowerShell

Add to your profile ($PROFILE):

$env:PATH = (pave env pwsh)
Xonsh

Add to ~/.xonshrc:

$PATH = $(pave env xonsh).strip().split('\n')
Nushell

Add to your env config ($nu.env-path):

$env.PATH = (pave env nushell | lines)

Usage

Action Command
Add current directory pave add .
Add specific directory pave add /usr/local/go/bin
Search & add executable pave add rustup
Remove directory pave remove /usr/local/go/bin
Remove interactively pave remove
List PATH entries pave list
Search PATH pave search node

Integrations

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.