Starship is a cross-shell prompt built for speed and customization. It's for developers who switch between shells or machines and want one consistent, informative prompt instead of maintaining separate configs for bash, zsh, fish, and whatever else they end up using.
Starship fits anyone who wants a prompt that shows relevant, glanceable context (like Git branch state or the active language runtime) without hand-writing shell-specific prompt scripts. It's especially useful for people who work across multiple shells or multiple machines, since the same configuration file works everywhere Starship is installed.
It's less necessary if you're happy with your shell's default prompt or already have a working custom prompt setup you don't want to replace, since adopting Starship means moving that configuration over. It also requires a Nerd Font to render its icons correctly, so environments where you can't install or configure fonts (some restricted terminals or remote sessions) won't get the full visual experience.
A Nerd Font needs to be installed and enabled in your terminal first, since Starship's icons depend on it.
On Linux or macOS, the quickest path is the install script:
curl -sS https://starship.rs/install.sh | sh
Or install via Cargo on any platform:
cargo install starship --locked
Package managers are also supported, for example Homebrew:
brew install starship
After installing, you need to hook Starship into your shell's startup file. For Zsh, add this to the end of ~/.zshrc:
eval "$(starship init zsh)"
For Bash, add this to ~/.bashrc:
eval "$(starship init bash)"
Fish, PowerShell, Nushell, and several other shells each have their own init snippet documented in the README. Once set up, starting a new shell session shows the default prompt immediately; configuration and presets are covered in the official docs if you want to customize further.
Starship credits earlier cross-shell prompt projects, including spaceship-prompt and reujab/silver, as inspiration for its design. The project is supported by sponsors through GitHub Sponsors and welcomes contributors of all skill levels, with issues labeled "good first issue" set aside for people looking to make a first contribution; a Discord server is available for questions and for translation help through the project's Crowdin page.
The README also flags a housekeeping detail worth knowing before you clone: the default branch was renamed from master to main, so an existing local clone needs git branch -m master main followed by updating the remote tracking branch, or a fresh clone will just pick up main automatically. Release binaries for Windows go through a documented code-signing process with defined reviewer and approver roles, which is a reasonable thing to check if your organization requires signed executables.