CShip CLI
A Rust status line for Claude Code showing session cost, context use and usage limits, configured in Starship-style TOML.
- 429 ★ on the repository
- Last commit
- Apache-2.0
Extended access
Why this level
- The network installer downloads a binary and edits `~/.claude/settings.json`.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/cshipDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The network installer downloads a binary and edits `~/.claude/settings.json`.
This is third-party code. Review the repository files before installing.
What it does
CShip renders a status line for Claude Code sessions. It shows the model, session cost, context window fill, usage limits and sub-agent name. The layout lives in `~/.config/cship.toml` in Starship syntax: tokens such as `$cship.cost` and `$cship.context_bar` mix with Starship modules like `$git_branch`. Warning and critical levels take their own thresholds and colours. The `cship explain` command shows which data Claude Code passed to the status line.
Who it is for. Claude Code users who track token spend and limits and already tune their terminal with Starship.
Good fit when
- A session runs for hours and context fill is visible before compaction.
- Session cost and five-hour and seven-day limits are checked without extra commands.
- The status line is matched to a terminal theme with a Nerd Font.
- A `cship.toml` in the project root overrides the shared config.
Not a fit when
- Work happens outside Claude Code, since the status line reads its JSON feed.
- Machine policy forbids installing through `curl | bash`.
- Reports on past spend are needed, while CShip prints live session data.
Example request
Set up the Claude Code status line with CShip: model, cost, context bar and seven-day limits.Limitations
CShip works only with Claude Code, because its data comes from the Claude Code JSON feed. The installer `curl -fsSL https://cship.dev/install.sh | bash` downloads a binary, creates a starter config and edits `~/.claude/settings.json`, so read the script before running it. Usage limits on Linux need `libsecret-tools`, and Starship modules need Starship itself. Nerd Font glyphs show only in a terminal with a suitable font. After `cargo install cship` the status line is wired into `settings.json` by hand.
How to disable. Remove the `statusLine` key from `~/.claude/settings.json`. Delete the `~/.local/bin/cship` binary and the `~/.config/cship.toml` config separately.
FAQ
How do I install CShip on Windows?
Run `irm https://cship.dev/install.ps1 | iex` in PowerShell. The script places `cship.exe` in `%USERPROFILE%\.local\bin` and registers the status line in `settings.json`.
What happens after `cargo install cship`?
Add `"statusLine": { "type": "command", "command": "cship" }` to `~/.claude/settings.json`. The installer does this itself, while cargo does not.
Why is a module empty?
Run `cship explain`: it prints the context JSON CShip sees, which shows whether the data arrived.
Where is the config?
In `~/.config/cship.toml`. A `cship.toml` in the project root overrides it.
Can Starship modules be shown?
Yes. Tokens like `$git_branch` sit beside `$cship.*`, and `$starship_prompt` prints the whole Starship prompt in one row.
Discussion
No questions or reviews yet.
Related
CLI toolsA Rust status line for Claude Code with Classic, Powerline and Capsule themes: tokens, git branch, cost and subscription limits.
A dependency-free Node.js status line for Claude Code showing model, git branch, context, cache and subscription limits.
A Claude Code status line displays the current model, Git state and context usage directly in the terminal
Rust terminal client claude-rs for Claude Code: the session stays in terminal scrollback, output does not flicker, tmux works.
A Claude Code plugin that puts context usage, active tools, running subagents and todo progress into the statusline
Three skills and a clippy config: an agent writes, reviews and ports idiomatic Rust, and CI enforces the checkable rules
README in short
The line is built from tokens in the `lines` array. Ready configs from the Showcase section are copied into `~/.config/cship.toml`.