Where Is the Starship Config File?
Starship reads its entire prompt definition from one starship.toml in the standard config directory.
Last updated
Starship keeps every prompt decision in a single TOML file. Module order, symbols, styles, and per tool version formats all live there, read once per prompt render.
No config file means stock behavior, which is a sensible default rather than an error. The format setting controls the whole prompt as one template string, and disabling modules you never read keeps renders fast. Presets from the official collection paste straight into this file.
Where Starship stores this, by platform
~/.config/starship.toml
One file defines the whole prompt. The STARSHIP_CONFIG variable overrides this path for per project or test setups.
~/.config/starship.toml
Same path and format as Linux. Shell init lines sourcing starship live in ~/.zshrc or ~/.bash_profile, not in this file.
Frequently asked questions
Can I use different configs per project?
Set STARSHIP_CONFIG to the file's path before launching the shell. Per project configs then compose: shared base plus directory specific overrides for work versus personal checkouts.
How do I debug what the prompt shows?
Run starship explain to print which modules render and why. It shows detected versions and hidden modules, which turns prompt debugging from guessing into reading.
Notice an outdated path? Let us know.