mrkeyoor.com_
Wed 16 Sept 05:31 UTC
Dev Toolsevaluationupdated 27 Aug 2026

starship review

Starship is a configurable command prompt that works across many shells and operating systems. It replaces separate Bash, Zsh, Fish, PowerShell, and other prompt setups with one executable and one TOML configuration that can show the current directory, Git state, language versions, cloud context, and command status.

+72stars / 7d
Verdict

Our Starship run built successfully, but 96 of 1,254 executed tests failed, so the released binary is easier to recommend than this commit as a clean contributor baseline. Use it if one prompt must follow you across shells and you are prepared to tune or disable slow modules. Zsh-only users should compare Powerlevel10k, while locked-down macOS teams should verify release signing before rollout.

We ran it

Lab card: what happened when we ran starshipScreenshot of starship (starship.rs)
Install✓ · 16s372 packages
Build✓ · 95s
Tests✗ · 134s1158 passed · 96 failed of 1254 (cargo test)
Repo812 files~53,376 lines of source · 21.9 MB · 8 CI workflows

Answers from our run

Does starship build from source?

Dependencies installed in 16 seconds (372 packages), and the build succeeded in 95 seconds. We cloned commit 6f33dce into a clean Debian container with 3 CPUs and no project-specific setup.

Do starship's tests pass?

Not all of them: 1158 of 1254 passed and 96 failed when we ran the project's own test command (cargo test). Some failures need services or credentials a bare container does not have.

Who should not use starship?

Users who want zero terminal setup: the README requires installing and selecting a Nerd Font for the default symbols, then adding an initialization line to each shell.

What are the alternatives to starship?

Oh My Posh, Powerlevel10k, Oh My Zsh. Our Starship run built successfully, but 96 of 1,254 executed tests failed, so the released binary is easier to recommend than this commit as a clean contributor baseline.

Setup4/5Binary setup is short; source tests had 96 failures
Docs5/5Shell setup, modules, presets, and platform notes are detailed
Community5/559,621 stars with an August 2026 push and active queue
Maturity4/5Widely packaged v1.26.0, with platform-specific open defects

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 move between shells or operating systems and want one prompt configuration.
Terminal users who want Git, runtime, package, cloud, and command-duration context without assembling a prompt from shell scripts.
Teams willing to distribute a shared TOML preset and let individuals adjust modules.
Rust contributors interested in a widely packaged command-line project with active CI and releases.

Who it’s NOT for

Users who want zero terminal setup: the README requires installing and selecting a Nerd Font for the default symbols, then adding an initialization line to each shell.
Windows users who depend on consistently fast Git prompt data: open issue 7677 reports slow Git modules even with a Windows-native Starship and Git installation.
macOS environments that require vendor-signed release binaries: issue 7668 reports that the v1.26.0 macOS artifact has an ad hoc signature and triggers endpoint-security delay.
Git worktree users who rely on the prompt to retain the parent repository name: issue 6981 reports that only the worktree title and branch are shown.
Contributors who require a clean test baseline in a fresh Debian container: our run ended with 96 failures among 1,254 executed tests.

Setup reality

Our commit 6f33dce checkout installed 372 Rust packages in 16 seconds. The build succeeded in 95 seconds. Tests failed with exit code 101 after 134 seconds: Cargo reported 1,158 passed and 96 failed out of 1,254 executed tests.

Using the published binary needs no account, API key, database, or background service. It does require a Nerd Font for the default icons, one shell initialization line, and a TOML file if the defaults do not suit you.

The 21.9 MB checkout held 812 files and about 53,376 source lines, with eight CI workflows and no Dockerfile. Prompt modules may call tools such as Git or a language runtime, so a slow external command can make each prompt redraw feel slow until that module is disabled or adjusted.

One TOML file can follow you across many shells

Starship puts prompt rendering in one Rust executable instead of reimplementing the same information in each shell's scripting language. The README documents setup for Bash, Zsh, Fish, PowerShell, Cmd through Clink, Elvish, Ion, Tcsh, Xonsh, Nushell, and several others. A user adds one initialization line to the shell profile, while ~/.config/starship.toml controls layout, symbols, colors, and which modules run.

The payoff is strongest for people who regularly switch between macOS, Linux, Windows, or multiple shells. Directory and Git information can look alike everywhere, and language or cloud modules appear only when relevant files or environment details are present. The repository also ships presets for users who prefer a starting design. A single-shell user with a settled prompt gains less because Starship introduces another executable and configuration format for information the shell can already produce.

The default icons require a Nerd Font and shell-specific initialization

The README names a Nerd Font as a prerequisite for its default symbols. Installing the Starship binary is only the first step: each shell needs its own initialization command in a profile file. Cmd additionally requires Clink 1.2.30 or newer. Package choices range from system repositories and Homebrew to Cargo, Conda, Chocolatey, Scoop, Winget, and a project installation script.

None of this needs credentials or a daemon. That makes rollback simple: remove the initialization line and your previous prompt returns. Font configuration is the common snag because the font belongs to the terminal emulator, while Starship runs inside the shell. If icons render as boxes, changing TOML will not fix the terminal's selected typeface. Teams rolling out a preset should document the binary source, font package, shell profile location, and config path together.

What happened when we ran it

Our sandbox installed 372 Rust packages in 16 seconds from commit 6f33dce. The build then succeeded in 95 seconds. The source checkout was 21.9 MB, with 812 files and about 53,376 lines of source. We found eight CI workflow files, no Dockerfile, and no top-level tests directory. Rust tests can live beside the modules they cover, so that directory signal does not mean the project lacks tests.

The Cargo test command failed with exit code 101 after 134 seconds. Its final result reported 1,158 passed and 96 failed out of 1,254 executed tests. The log tail lists failures in prompt-printing cases such as custom_prompt, env_expands, main_prompt, right_prompt, and test_prefer_user_profile, then says to rerun with --lib. It does not provide assertion messages or a common cause in the supplied excerpt.

That result is enough to reject a clean-test claim and no more. Installation worked, compilation worked, and most executed cases passed. We cannot say whether the 96 failures came from the container environment, missing assumptions, or a regression because the available tail does not show that evidence. A contributor should rerun the library suite with full output on a supported host before changing prompt formatting code.

Prompt speed depends on every enabled module's command

A prompt runs after almost every command, so a small delay repeats all day. Starship is written for speed, but modules may still inspect a repository, read project files, or invoke another program for its version. Open issue 7639 reports that the Swift module can spend about 100 milliseconds on swift --version in a warm case and far longer after idle time on one macOS setup. That report attributes the delay to the external command rather than a measured Starship rendering benchmark.

Windows and WSL deserve their own trial. The documentation already warns that Git status can be slow in Windows directories mounted under WSL and suggests a Windows-native executable. Issue 7677 reports slow Git modules even with native Windows Starship and Git installed through Scoop. If prompt delay appears, use Starship's timing tools, test modules separately, and disable context that costs more than it helps. A beautiful Git status is a poor trade if every Enter key waits for it.

Cross-platform configuration still has platform edges

The same TOML file is a major reason to choose Starship, yet identical text does not guarantee identical rendering. Issue 7676 shows a multiline literal format producing a different trailing line on Linux and Windows PowerShell with v1.26.0. Issue 6981 reports that Git worktrees can lose the parent repository name in the displayed directory context across Fish and Nushell. These are specific workflow defects, rather than reasons to dismiss normal prompt use.

Release provenance also matters on managed machines. An open report says the v1.26.0 macOS artifact was only ad hoc signed after the release signing workflow failed, which caused endpoint-security slowdown for that user. Homebrew or a locally built binary may follow a different trust path, but an enterprise rollout should inspect the exact artifact it plans to distribute. Prompt software launches constantly and sees the working directory plus environment, so normal binary verification rules apply.

August pushes and June v1.26.0 show active maintenance

GitHub recorded the last push on August 27, 2026. The latest release was v1.26.0 on June 28, and the repository had 59,621 stars plus 1,041 combined issues and pull requests when fetched. Recent open reports and pull-request updates cover Windows performance, worktrees, prompt formatting, new shells, and language modules. The large combined queue should not be read as 1,041 bugs.

Starship has enough installation choices, translations, presets, and module documentation to make a low-risk personal trial. Its strongest case is portability: one executable and one configuration can replace several prompt implementations. The failed source suite keeps the contributor score below perfect, and the platform reports justify testing your slowest repository and strictest managed machine. For most developers, that test takes less effort than maintaining a comparable prompt separately in every shell.

Alternatives

ProjectWhat it isPick it when
Oh My Posh gh↗A cross-shell prompt engine with themes and broad platform support.pick this instead when its theme ecosystem and segment model fit your desired prompt more closely.
Powerlevel10kA fast, deeply configurable prompt built specifically for Zsh.pick this instead when every machine runs Zsh and its instant-prompt behavior matters more than cross-shell portability.
Oh My Zsh gh↗A Zsh configuration framework with themes, plugins, and shell helpers.pick this instead when you want a wider Zsh customization framework rather than a standalone prompt executable.

What people are saying

  1. [github-trending] starship/starship

Sources

  1. Starship repository and installation guide
  2. Starship v1.26.0 release
  3. Windows Git module performance report
  4. macOS release signing report
  5. Git worktree context report
  6. Cross-platform multiline format report

More dev tools reviews

IKONA-Security · noty · forward-implementation-first · breakscale · black · ASC · the whole board →