Reset everything?

Every module setting, style and grouping goes back to the starting prompt. The simulated environment is left as it is, and undo will bring your config back.

Starship Prompt Builder

What is this?

Starship is a fast, cross-shell prompt configured by a single starship.toml — around a hundred modules, each with its own format strings and style strings.

Tuning that file normally means editing it, reloading your shell, and looking at the result. This closes the loop: you edit visually, the prompt re-renders instantly against a simulated shell environment, and you export the exact starship.toml that reproduces it. The editing happens entirely in your browser: your config is never uploaded, and the site itself carries no tracking code — visits are counted at the edge, without cookies.

New to the configuration language? Start with the guides, or look up examples and key options in the module reference.

An unaffiliated community tool, not endorsed by the Starship project — which lives at github.com/starship/starship.

starship — preview
󰀵 you …/app/src   feat/live-preview $!+?⇡   v22.19.0   09:41  ❯ 
px

What the prompt contains, and in what order. Reorder, remove, recolour, or add pieces here. Drag the handles to reorder; group a run of related modules so they share one style.

Format string guideStyle string guide

  • Shows the current operating system
  • Shows active user's username
  • Shows the path to your current directory, truncated to three parent folders
  • Shows the active branch of the repo in your current directory
  • Shows symbols representing the state of the repo in your current directory
  • Shows some information about your C compiler
  • By default the rust module shows the currently installed version of Rust
  • Shows the currently installed version of Go
  • Shows the currently installed version of Node.js
  • Shows the currently installed version of the bun JavaScript runtime
  • Shows the currently installed version of PHP
  • Shows the currently installed version of Java
  • Shows the currently installed version of Kotlin
  • Finds the current selected GHC version and/or the selected Stack snapshot
  • Shows the currently installed version of Python and the current Python virtual environment if one is activated
  • Shows the current Conda environment, if $CONDA_DEFAULT_ENV is set
  • Shows the current **local** time
  • Shows how long the last command took to execute
  • Separates the prompt into two lines
  • Shows a character (usually an arrow) beside where the text is entered in your terminal

Right prompt

Rendered flush against the right edge. Not supported by every shell.

  • Empty — nothing will be rendered.
Blank line before each promptadd_newline
Other prompt-wide options
Name of the palette in [palettes] to activate.
Shown for continuation lines of a multi-line command.
Milliseconds starship may spend scanning files.
Milliseconds starship may spend running a command.
Follow symbolic links while scanning the current directory.
Simulated environment

What the shell would report about this machine and directory. It decides which modules appear at all — a language module only shows up when its tool and a matching file are both here.

Sessionuser, host, shell
Connected over SSH
Running as root
Vim normal mode
Directorypath and the files in it
Read-only directory
Version controlfeat/live-preview

starship prints branch:upstream when the two differ, so set both to see a single name.

Inside a git repository
Detached HEAD
Inside a Mercurial repository
Last commandexit 0
SystemMacos
Report a battery
Installed tools1 present

A language module only appears when its tool is installed and the directory has a matching file.

Cloud & orchestrationAWS, GCP, Azure, Kubernetes

Set a context first — starship takes the namespace from it, and shows nothing without one.

Inside a Nix shell
Inside a container
Environment variables0 set

Read by the env_var module and by anything using detect_env_vars.

Palette

A palette pairs a reusable name with a colour. To make a style follow it, choose the name — for example peach instead of #fab387. Changing the entry then updates every style that uses peach.

Curated palettescopied in, then yours to edit
Colours used by this promptevery colour has a matching entry in catppuccin_mocha

Solid chips have matching entries in catppuccin_mocha; dashed chips do not. Copying a dashed chip creates an entry with the same text as a temporary name, without changing the style.

redpeachyellowgreensapphirelavendercrust

A palette name changes only styles that use it. Copying or renaming a palette entry does not update existing styles; choose that name in their style pickers.