Starship
by Starship contributors · CLI tool · also known as Starship prompt
Cross-shell command prompt written in Rust that shows Git status, language versions, cloud context and more from one TOML configuration
Overview
Starship is a shell prompt generator maintained by an open-source community under the ISC license. It is a single Rust binary that renders the prompt for bash, zsh, fish, PowerShell, Nushell and other shells, so one configuration file works identically across machines and shells. Modules display the current directory, Git branch and status, detected language toolchains (Python, Node.js, Rust, Go and many others), container or cloud context, command duration and exit status, each appearing only when relevant.
Configuration lives in a TOML file with presets available for common looks, and many modules expect a Nerd Font for icons. Starship suits people who administer many hosts and want the same prompt everywhere, including on remote cluster nodes. Its limitations are that it only draws the prompt (it is not a shell framework with plugins or completions), detection modules add a small amount of latency in very large repositories, and icon-heavy presets depend on patched fonts being installed on every terminal.
Capabilities
- Same prompt configuration across bash, zsh, fish, PowerShell and Nushell
- Context modules for Git, languages, containers and cloud accounts
- Command duration and exit status display
- TOML configuration with presets
- Single static binary with no shell-specific dependencies
Typical workflows
- Deploy one prompt configuration to every node of a cluster
- Show the active Python or Node.js version per project
- Keep an identical prompt when switching between zsh and fish
Strengths
- Shell-agnostic
- Fast single binary
- ISC license
Limitations
- Prompt only; no plugin or completion framework
- Icon presets require a Nerd Font
- Detection can add latency in very large repositories
Prerequisites
- A supported shell; Homebrew, Cargo or install script
Who it is for
- Developers and administrators managing many machines
- Users of multiple shells
Alternatives & comparison
Shell frameworks such as Oh My Zsh bundle prompts with plugins and completions but are tied to one shell; Starship covers the prompt only and works across shells.
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- Licensehttps://github.com/starship/starship/blob/main/LICENSEchecked Nov 1, 2026
Supports: license_spdx, source_model
- Official documentationchecked Nov 1, 2026
- Official sitechecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in Terminals & shells
tmux
tmux project (Nicholas Marriott) · Terminals & shells
Terminal multiplexer that keeps shell sessions alive on a server, splits a terminal into windows and panes, and lets sessions be detached and reattached
GNU Parallel
GNU Project (Ole Tange) · Distributed & parallel computing
Shell tool that runs commands in parallel over input lines on one or several machines, as a drop-in alternative to xargs and shell loops
Ghostty
Ghostty project (Mitchell Hashimoto) · Terminals & shells
Native, GPU-accelerated terminal emulator for macOS and Linux written in Zig, with platform-native UI and a cross-platform core library
Warp
Warp (Denver Technologies) · Terminals & shells
Commercial terminal built in Rust that groups output into blocks, adds an IDE-style input editor and integrates AI agents for command generation and debugging
Neovim
Neovim project · IDEs & editors
Modal, terminal-based text editor forked from Vim with Lua configuration, a built-in LSP client and Tree-sitter parsing
iTerm2
George Nachman (iTerm2 project) · Terminals & shells
Feature-rich terminal emulator for macOS with split panes, profiles, triggers, search, tmux integration and a Python scripting API