Starship Prompt — Setup and Features

Starship is a minimal, fast, cross-shell prompt written in Rust. It replaces Oh My Zsh themes with a single TOML config and auto-detects context from Git, language runtimes, and cloud tools.

Why / When to Use

When you want a prompt that shows Git state, language versions, and cloud context at a glance — without the lag of Oh My Zsh themes. Especially useful when actively working with Git: the prompt shows branch, dirty state, and ahead/behind status without running git status.

Core Concept / Commands

Install

# macOS / Linux (one-liner)
curl -sS https://starship.rs/install.sh | sh
 
# Or via Homebrew
brew install starship

Enable in zsh — add to ~/.zshrc

eval "$(starship init zsh)"

Config file

~/.config/starship.toml

Zero config needed to get a working prompt. Edit the TOML only when you want to customise.

Example: show only Git module and directory

[git_branch]
symbol = " "
 
[git_status]
conflicted = "✖"
modified = "!"
untracked = "?"
ahead = "⇡"
behind = "⇣"

Key Options / Variants

What Starship shows automatically (no config required):

ContextWhat’s shown
Inside a Git repoBranch name + status symbols
Python projectPython version
Node.js projectNode version
KubernetesCurrent context
AWSActive profile
DockerDocker context

Git status symbols (defaults):

  • ! — modified files
  • ? — untracked files
  • — ahead of remote
  • — behind remote

Gotchas

  • Requires a Nerd Font installed in your terminal for icons to render correctly (e.g. FiraCode Nerd Font, JetBrains Mono Nerd Font).
  • Performance is generally better than Oh My Zsh themes, but very large repos (>50k files) can still cause slight delays on Git status checks. Disable git_status module in TOML if needed.

Source

Conversation: “Understanding zsh directory and main syntax” — 2026-05-15