mrkeyoor.com_
Sat 31 Oct 07:48 UTC
Dev Toolsevaluationupdated 12 Oct 2026

starship review

Starship replaces your terminal's command prompt with a configurable display of your directory, Git state, and relevant development tools. It lets you keep one prompt configuration when you move between shells instead of maintaining separate themes.

+67stars / 7d
Verdict

Our Starship run installed 360 packages in 17 seconds and built successfully in 126 seconds, but Cargo test failed with 194 failures in the supplied aggregate. I'd choose it for a shared prompt across shells, using a packaged release when source changes aren't needed. Developers maintaining a fork should reproduce the named library failures before relying on commit d93e3f8.

We ran it

Lab card: what happened when we ran starshipScreenshot of starship (starship.rs)
Install✓ · 17s360 packages
Build✓ · 126s
Tests✗ · 153s2400 passed · 194 failed of 2594 (cargo test)
Repo819 files~54,535 lines of source · 21.9 MB · 8 CI workflows

Answers from our run

Does starship build from source?

Dependencies installed in 17 seconds (360 packages), and the build succeeded in 126 seconds. We cloned commit d93e3f8 into a clean Debian container with 3 CPUs and no project-specific setup.

Do starship's tests pass?

No. The project's own test command finished in 153 seconds and reported 2400 passed, 194 failed (cargo test).

Who should not use starship?

Windows Cmd users who cannot add Clink: the README requires it for that shell's integration.

What are the alternatives to starship?

Powerlevel10k, Oh My Posh. Our Starship run installed 360 packages in 17 seconds and built successfully in 126 seconds, but Cargo test failed with 194 failures in the supplied aggregate.

Setup4/517-second source install, plus shell hooks and terminal font setup
Docs5/5Shell instructions, module settings, and layout limits are documented
Community5/5October 12 push and recent rendering and tool-detection PR activity
Maturity3/5Established release and 8 CI workflows, but our test run failed

Discussed on

  1. hnSpaceX Starship rocket explodes minutes after launch from Texas955 points
  2. hnStarship Flight 7678 points
  3. hnStarship Prototype Unveiled543 points
  4. hnStarship's Third Flight Test [video]499 points
  5. hnStarship Integrated Flight Test 2 at 7 Am Central Time471 points

Who it’s for

Developers who switch between Bash, Fish, Zsh, or PowerShell and want shared prompt settings.
People who want Git and language information beside their commands, with unwanted modules disabled.
Dotfile maintainers who prefer a TOML configuration they can carry between machines.

Who it’s NOT for

Windows Cmd users who cannot add Clink: the README requires it for that shell's integration.
Bash users who want a right prompt without another shell framework: the advanced guide requires Ble.sh for that layout.
Teams pinned to older Elvish or Nushell versions: the README supports Elvish v0.18+ and Nushell v0.96+, so a prompt migration may also require a shell upgrade.
People who cannot change terminal fonts and want the default appearance untouched: the README requires an enabled Nerd Font for its symbols.

Setup reality

Our fresh Debian sandbox installed commit d93e3f8 in 17 seconds, pulling 360 packages, and built it in 126 seconds. Cargo test failed with exit 101 after 153 seconds: the supplied aggregate reports 2,400 passed and 194 failed out of 2,594. The log tail separately reports 1,200 passed, 97 failed, and 40 ignored, naming prompt-printing failures without showing their causes.

Basic prompt use needs no hosted service or API credential. Install the binary, add the initialization hook for your shell, and enable a Nerd Font in your terminal. Optional customization lives in ~/.config/starship.toml, or a location selected through STARSHIP_CONFIG.

Windows Cmd needs Clink. Bash right prompts need Ble.sh, and advanced prompt behavior varies by shell. The README also sets minimum supported Elvish and Nushell versions. Our source run doesn't establish interactive prompt speed or whether your terminal renders the default symbols correctly.

One configuration follows you between shells

Add eval "$(starship init bash)" to your Bash profile, and Starship takes over the prompt you see before entering a command. Fish uses a different hook, but the prompt configuration lives in the same TOML file. That's the reason to choose it: when you switch shells, you can keep your directory display and Git information without maintaining a separate theme for each environment.

The project behind that small change contained 819 files and occupied 21.9 MB in our checkout. Its roughly 54,535 source lines make this a substantial Rust project for contributors. Those figures describe the source checkout, not binary size or memory use. Ordinary users can take a package-manager route documented in the Starship README.

What happened when we ran it

Our run installed Starship at commit d93e3f8 in 17 seconds, pulling 360 packages, and built it successfully in 126 seconds. We cloned and ran the repository on October 11, 2026, in a fresh Debian sandbox using image lab-rust:1. Installation and compilation both completed. That gives contributors a concrete starting point, although our successful build did not lead to a passing test command.

Cargo test failed with exit 101 after 153 seconds. The supplied aggregate reports 2,400 passed and 194 failed out of 2,594 tests. The log tail contains a narrower summary: 1,200 passed, 97 failed, and 40 ignored, with a reported duration of 105.72 seconds. These are different summaries in the same measurement record. The excerpt does not explain their relationship, so we would not treat the aggregate as a count of unique test cases.

The failing names include print::test::main_prompt, print::test::right_prompt, and print::test::env_mixed. Cargo ends by suggesting a rerun with --lib. The tail also shows a time-range test passing. It identifies prompt-printing failures but supplies no assertion messages or underlying exceptions. Neither a missing system package nor a Starship defect can be established from those names alone. Anyone requiring a green source-validation run should investigate before adopting this commit.

The measurement setup had 3 CPUs and 12 GB of RAM, with no elevated privileges or secrets. It measured repository installation, build, and tests. It did not measure the delay before an interactive prompt appears, behavior in a large Git repository, or rendering across terminal fonts. The README's speed claim therefore remains a claim we haven't independently timed, even though compilation succeeded.

The binary still needs a shell hook and a font

Starship's default symbols expect a Nerd Font installed and selected in your terminal. You must select that font in the terminal profile too. Windows Cmd also needs Clink, according to the README. That's a meaningful extra requirement if you're choosing a prompt for machines where you cannot add shell integrations. Bash and Fish each have their own startup-file instructions.

Our 17-second installation result should not be read as the time needed to finish those desktop changes. You'll still choose where the initialization hook belongs and configure the terminal's font. Basic prompt use needs no hosted service or API key. For customization, the documented file is ~/.config/starship.toml, with STARSHIP_CONFIG available when you want another location. Keep that file with your dotfiles so the shared appearance survives a machine change.

Modules show context, while advanced layouts depend on the shell

A module is a piece of the prompt that reports something about your current environment. The configuration reference documents Git branch and status displays, alongside language modules that detect relevant project files. You can disable an unwanted module instead of accepting every available indicator. I'd begin with directory and Git information, then add language details only when they save a command you regularly type.

A 126-second source build tells you nothing about whether that selection feels responsive. The configuration reference exposes command and file-scan timeouts, but we didn't measure their effect. Layout portability also has limits: the advanced configuration guide says Bash needs Ble.sh for a right prompt, the information placed beside your input. Transient prompts, which shorten earlier prompts after commands run, have shell-specific instructions too. Shared configuration does not erase those integration differences.

Powerlevel10k gives Zsh users a configuration wizard

Powerlevel10k is worth choosing if you stay in Zsh and want its interactive p10k configure wizard to help select an appearance. Starship makes more sense when the same configuration must travel between shells. Oh My Posh is another shell-independent prompt engine, with documented right and transient prompts. Compare its configuration approach with Starship's TOML before migrating. We have no comparative latency measurements for these alternatives.

The 360 packages in our source installation are a contributor's cost, not evidence that every terminal user must install a Rust development environment. That distinction favors trying a packaged Starship release before deciding to maintain a fork. If your current Zsh prompt already shows the information you need, there's little reason to rebuild your configuration solely for portability you won't use. Switching should remove a specific annoyance, such as separate prompt settings on different machines.

October activity continues after the June release

Starship was pushed on October 12, 2026. Its latest published release, v1.26.0, dates to June 28 and includes Git support changes plus fixes to configuration-file writing and project detection. GitHub listed 1,059 open issues and PRs, and recent pull requests addressed prompt rendering and tool detection. The release date alone would give the wrong impression: repository work continued into October. The queue's size doesn't tell us how quickly a particular bug will be answered.

Our scan found 8 CI workflow files, but our own test command still failed. Workflow presence is evidence of automation, not proof that this commit passes everywhere. Choose Starship when keeping one prompt across shells solves a daily problem, and use a packaged release if you don't need source changes. For a fork, the next useful step is to reproduce the named library failures with their full assertion output before depending on d93e3f8.

Alternatives

ProjectWhat it isPick it when
Powerlevel10kA Zsh prompt theme with an interactive configuration wizard.pick this instead when you stay in Zsh and want guided appearance choices through p10k configure.
Oh My Posh gh↗A configurable prompt engine for different shells and platforms.pick this instead when its theme configuration suits you better than Starship's TOML, after checking support for your shell.

What people are saying

  1. [techcrunch-ai] Google thinks SpaceX’s Starship has to launch 1,600 times before space data centers get off the ground
  2. [hackernews] SpaceX's Starship launching to orbit for first time ever today

Sources

  1. Starship README and shell setup
  2. Starship module configuration
  3. Starship advanced shell integration
  4. Starship v1.26.0 release notes
  5. Starship repository metadata
  6. Starship recent issue and pull-request activity
  7. Powerlevel10k configuration wizard
  8. Oh My Posh prompt engine

More dev tools reviews

linux-insides · cat-catch · date-fns · okhttp · the-craft-of-selfteaching · skills · the whole board →