Sandbox
@martinemde/starship-claude

Claude Code status line plugin for Starship

This plugin connects Claude Code to Starship so your terminal can show Claude session status in a custom line. It includes a setup wizard, a shell script that renders the status line, and template config for the prompt style and palette.

149 stars12 forksShellUpdated 4mo ago
No Vibes Allowed: Solving Hard Problems in Complex Codebases – Dex Horthy, HumanLayer
AI Engineer631k views • 9 months ago
Who it's for

Builders who use Claude Code in the terminal and want a reusable status line setup.

What it delivers

You can see Claude session progress, context, and cost in your terminal without building the display yourself.

What it does

Starship status line rendering

Uses Starship to format the Claude Code status line in the terminal.

Setup wizard

Provides `/starship` to guide installation, configuration, font support, palette choice, and verification.

Manual install path

Includes a downloadable `starship-claude` script and a starter `starship.toml` config.

Context progress bar

Shows context usage as a progress bar with warning and error ranges.

Test coverage

Includes BATS tests and golden fixtures for session, cost, progress, and rate-limit behavior.

How to get it

  1. 1You'll need starship to render the statusline
    # If you don't already have starship...
    curl -sS https://starship.rs/install.sh | sh
  2. 2Run it directly to test it out but you'll need to grab a test fixture JSON file.
    ./plugin/bin/starship-claude < test/fixtures/low_cost_session.json

README

starship-claude

CI

starship-claude screenshot

Use Starship for your claude code status line.

Quick Start

[!TIP] Run each of the following commands in claude one at a time.

/plugin marketplace add martinemde/starship-claude
/plugin install starship-claude@starship-claude
/reload-plugins

Then run the setup wizard:

/starship

starship-claude setup wizard screenshot

The wizard is just instructions to claude that will help with setup:

  1. Check if starship is installed (offers to install if missing)
  2. Detect existing configuration and ask what to do
  3. Ask about Nerd Font support
  4. Let you choose a color palette
  5. Let you choose a prompt style
  6. Install the script and generate your config
  7. Update your Claude Code settings
  8. Verify everything works

Manual Install

You'll need starship to render the statusline:

# If you don't already have starship...
curl -sS https://starship.rs/install.sh | sh

You'll probably want a Nerd Font (optional) for the robot icons.

When you're ready to install, run these in your terminal (not in claude):

# Download the script from this repository
mkdir -p ~/.local/bin
curl -fsSL https://raw.githubusercontent.com/martinemde/starship-claude/main/plugin/bin/starship-claude \
  -o ~/.local/bin/starship-claude && chmod +x ~/.local/bin/starship-claude

# Get the config file that you can customize
mkdir -p ~/.claude
curl -fsSL https://raw.githubusercontent.com/martinemde/starship-claude/main/plugin/templates/minimal-nerd.toml \
  -o ~/.claude/starship.toml

Add the statusline in your Claude Code settings (~/.claude/settings.json):

{
  // ... other stuff
  "statusLine": {
    "type": "command",
    "command": "~/.local/bin/starship-claude",
  },
}

Run it directly to test it out but you'll need to grab a test fixture JSON file.

./plugin/bin/starship-claude < test/fixtures/low_cost_session.json

My Favorite Feature: Context Window Progress Bar

Show progress bars for context usage percentages in terminals like Ghostty. (I love it!)

We use Dex Horthy's "dumb zone" (video) to start warning at 40%.

  • Progress bar scales for 80% compaction.
    • 0-40%: Normal - You're good.
    • 40-60%: Warning - Reset if it's not going well.
    • 60%+: Error - Compacting soon...

Warning does not mean stop, but be aware of your context usage.

[!NOTE] This doesn't work in tmux even if you are using Ghostty. Let me know if you find a workaround.

Customize

Add these options to the ~/.claude/settings.json if you want do things differently.

# custom config file
starship-claude --config ~/.config/starship/claude.toml

# disable terminal context progress bar (maybe it's printing weird characters?)
starship-claude --no-progress

Running Tests

Install BATS and run tests:

# Install BATS via mise
mise use bats@latest
mise install

# Run all tests
mise exec -- bats test/

# Run specific test file
mise exec -- bats test/model_extraction.bats

License

MIT License © 2026 Martin Emde

Files in the repo

Repository payload11 top-level entries
  • .claude-plugin
  • .github
  • plugin
  • test
  • LICENSE
  • mise.toml
  • openpackage.yml
  • README.md
  • screenshot.png
  • setupwizard.png
  • starship.toml

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More plugins

Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.

138k
1 add

Graphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.

82k
code-yeongyu/
oh-my-openagent

OmO: Just type "mass ulw" keyword with your prompt. Now you are the master of graph engineering.

69k

Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More

94k

Opinionated Oxlint rules for rejecting low-evidence TypeScript and JavaScript patterns

4.3k