Customizable statusline formatter for Claude Code CLI
Project description
ccstatusline-py
A Python/uv port of ccstatusline — customizable statusline for Claude Code CLI. No Node.js required.
Installation
Once published to PyPI:
uvx --from ccstatusline-py ccstatusline
In the meantime, install the latest from GitHub:
uv tool install --python 3.11 git+https://github.com/MChromiak/cc_statusline_py.git
Either path puts a ccstatusline binary on your PATH.
Claude Code integration
Add to ~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "ccstatusline",
"padding": 0
}
}
(Use uvx ccstatusline instead of ccstatusline if you installed via uvx.)
Configuration
Run interactively to configure visually:
ccstatusline
Config is saved to ~/.config/ccstatusline_py/settings.toml. If you already have a config from the original ccstatusline, it will be migrated automatically on first run.
Examples
Each example below is a complete ~/.config/ccstatusline_py/settings.toml. Available widget types include model, cwd, git_branch, git_status, context_pct, context_bar, session_cost, session_duration, tokens_used, burn_rate, block_reset_timer, separator, and more.
1. Minimal — model name and git branch
color_level = "none"
minimalist_mode = true
[powerline]
enabled = false
[[lines]]
widgets = [
{ type = "model", padding = 0 },
{ type = "separator", padding = 1 },
{ type = "git_branch", padding = 0 },
]
Renders as:
claude-sonnet-4-5 │ main
2. Powerline — model, branch, context bar, cost
color_level = "truecolor"
[powerline]
enabled = true
separator = ""
left_cap = ""
right_cap = ""
[[lines]]
widgets = [
{ type = "model", fg = "#ffffff", bg = "#005f87", padding = 1 },
{ type = "git_branch", fg = "#1e1e2e", bg = "#a6e3a1", padding = 1 },
{ type = "context_bar", fg = "#1e1e2e", bg = "#f9e2af", padding = 1 },
{ type = "session_cost", fg = "#1e1e2e", bg = "#f5c2e7", padding = 1 },
]
Renders coloured powerline-style segments:
claude-sonnet-4-5 main ████░░░░░░ $0.0234
(With a Nerd Font, the segment caps are rendered as connected arrows.)
3. Two-line — overview line + project line
color_level = "256"
[powerline]
enabled = false
[[lines]]
widgets = [
{ type = "model", fg = "#5fafff", padding = 0 },
{ type = "separator", padding = 1 },
{ type = "context_pct", fg = "#ffaf00", padding = 0 },
{ type = "separator", padding = 1 },
{ type = "session_cost", fg = "#aaffaa", padding = 0 },
]
[[lines]]
widgets = [
{ type = "cwd", fg = "#888888", padding = 0 },
{ type = "separator", padding = 1 },
{ type = "git_branch", fg = "#ff87d7", padding = 0 },
{ type = "git_status", fg = "#ffaf00", padding = 1 },
]
Renders two lines:
claude-sonnet-4-5 │ 42.5% │ $0.0234
cc_statusline_py │ main ✔
Requirements
- Python 3.11+
- uv
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ccstatusline_py-0.1.1.tar.gz.
File metadata
- Download URL: ccstatusline_py-0.1.1.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5dd472a0e30e7f023eade1c7f28b290e54f362fee2ea1ed44b9ada6e3e64c4c7
|
|
| MD5 |
3338f8abe4c82150404a7ed319734458
|
|
| BLAKE2b-256 |
26cb771a14491e848c95b77dc544053b253c2b7189c20509b914e329b81611ef
|
Provenance
The following attestation bundles were made for ccstatusline_py-0.1.1.tar.gz:
Publisher:
publish.yml on MChromiak/cc_statusline_py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ccstatusline_py-0.1.1.tar.gz -
Subject digest:
5dd472a0e30e7f023eade1c7f28b290e54f362fee2ea1ed44b9ada6e3e64c4c7 - Sigstore transparency entry: 1391687288
- Sigstore integration time:
-
Permalink:
MChromiak/cc_statusline_py@fc1d08fd96f8ca7808499eaeb89cc1a25084f9d8 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/MChromiak
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fc1d08fd96f8ca7808499eaeb89cc1a25084f9d8 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ccstatusline_py-0.1.1-py3-none-any.whl.
File metadata
- Download URL: ccstatusline_py-0.1.1-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2f16bf3a56e06b54ce1fabd84766f29ebe678776c6b5d0ba2c8b0b8f16a571a
|
|
| MD5 |
3f11ca67bdfb0afafb22a1a63ce8c7dd
|
|
| BLAKE2b-256 |
ea882a2f0c422dce6f43c08cf6864562870189397557a9100f631f1586dc6abc
|
Provenance
The following attestation bundles were made for ccstatusline_py-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on MChromiak/cc_statusline_py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ccstatusline_py-0.1.1-py3-none-any.whl -
Subject digest:
a2f16bf3a56e06b54ce1fabd84766f29ebe678776c6b5d0ba2c8b0b8f16a571a - Sigstore transparency entry: 1391687290
- Sigstore integration time:
-
Permalink:
MChromiak/cc_statusline_py@fc1d08fd96f8ca7808499eaeb89cc1a25084f9d8 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/MChromiak
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fc1d08fd96f8ca7808499eaeb89cc1a25084f9d8 -
Trigger Event:
release
-
Statement type: