Catalog PyPI
PACKAGE EXPLORERView in registry

agent-statusline

PyPI

A dense, width-aware status line for coding agents

claude-codeclicodexstatuslinetui
Versions collected1
Direct dependencies0From release 0.4.4
Last observed20 Oct, 23:29 UTC

README

Version 0.4.4 documentation

agent-statusline

CI PyPI Python 3.9+ License: MIT No dependencies

A dense, local-first status line for Claude Code. See the project, model, context, usage, cost, tools, cache, tokens, timing, and machine pressure of the session you are in—without telemetry, runtime network calls, or third-party packages.

PROJECT acme-web/services │ feature/ingest* ↑2 stash1 │ "Rewrite the importer"
MODEL   Opus 5:high │ think │ fast off │ auto │ v2.1.246
CONTEXT ctx[██░░░░░░░░]  19% 189k/1M │ session 25.7M in · 311k out · 107k thinking · 189 api turns · avg 136k/1.65k per turn
USAGE   5h [███░░░░░░░] 26% @19.7%/h ▸ 98% (reset Wed 19:30 | 3h40m) │ 7d [█████░░░░░] 50% @0.3%/h ▸ 50% (reset Wed 17:00 | 1h10m)
COST    $2.10 session │ 24h $9.40 · 7d $31.20 · 30d $88.60 │ last5 $27.50 · all $142.30 (5 convos · 6 sess · 1 fork) │ +174/-12 lines │ credits on
SYSTEM  this session 540M · 5 proc · pid 4821 │ all claude 512M · 1 proc · 1.6% of ram │ ram[█████░░░] 62% of 32.0G · 4.2G compressed │ disk[████░░░░] 48% · 210G free
TOOLS   101 calls │ Bash81 Edit12 Read8 │ 2 tool errors │ 6 files edited · 14 read │ 0 subagents │ 0 compactions
CACHE   97.9% hit │ 1h ttl ▸ expires 16:49 │ 0.12x vs all-uncached │ writes 504k 1h · 0 5m
TOKENS  total 23.8M reused · 504k written · 366 uncached │ turn 184k reused · 5.2k written · 2 uncached
TIMING  turn 12m last · 4m median · 12m max (3 timed) │ wall 1h11m · api 19m (27% busy) │ hooks 3 runs · 133ms median · 0 errors

Rows reflow deterministically as the terminal changes width. Each may wrap once; only then are lower-priority details removed with an … marker. No physical output line exceeds the detected terminal width.

Install

The recommended installation keeps this frequently invoked command isolated:

uv tool install agent-statusline
agent-statusline install

Restart Claude Code after installation. To preview the configuration changes first, run agent-statusline install --dry-run.

The package is a standard Python distribution. These install the same command with other package managers:

pipx install agent-statusline
python -m pip install agent-statusline

pipx isolates the command like uv tool; pip installs it into the active Python environment.

Requirements: Python 3.9 or newer, Claude Code, and macOS or Linux. Git is optional and enriches the PROJECT row. The SYSTEM row reads native memory pressure from macOS or Linux; under WSL it reports the memory available to the Linux environment rather than the Windows host's full physical capacity.

What it tracks

  • PROJECT and MODEL: location, Git state, task, model, effort, mode, and host version.
  • CONTEXT and USAGE: context consumption, session tokens, API turns, and rate-limit windows.
  • COST: current, rolling, recent, and lifetime spend plus session counts and line changes.
  • SYSTEM and TOOLS: process, memory, disk, tool, file, subagent, and compaction activity.
  • CACHE, TOKENS, and TIMING: cache efficiency, token flow, turn time, wall time, and hooks.

The field reference documents every value and its source.

Local and private by design

  • Rendering uses local Claude Code payloads, transcripts, and machine state. It sends no telemetry and has no cloud fallback.
  • Runtime state stays under ~/.claude/, outside the repository. Package-owned state is privately permissioned and locked, using atomic replacement or durable append as appropriate.
  • Currency-labelled totals are exactly attributable. When retained evidence can prove only a lower bound, the display says ≥ instead of presenting it as a total.
  • Installation backs up settings.json, preserves unrelated settings and hooks, and refuses to replace configuration it cannot prove it owns.
  • agent-statusline selftest uses isolated synthetic state and never touches the live cost ledger.

The last-payload and per-session metrics files can contain sensitive paths, titles, costs, identifiers, and commands. Do not publish or attach files from the status-line state directory.

Commands

CommandPurpose
agent-statusline installWire the command and managed hooks into Claude Code
agent-statusline install --dry-runPreview installation without writing anything
agent-statusline selftestRender all ten rows from isolated synthetic data
agent-statusline metrics <session-id>Print the documented local snapshot for one session
agent-statusline ledger showInspect the local cost ledger
agent-statusline uninstallRemove only configuration owned by this installation
agent-statusline --versionPrint the installed version

The managed context guard warns after a turn when context reaches 80% by default. Configure it in the environment that launches Claude Code:

VariableValues
AGENT_STATUSLINE_CONTEXT_WARN_PCTwarning threshold from 1 through 100
AGENT_STATUSLINE_CONTEXT_WARN_EVENTstop (default), submit, or both
AGENT_STATUSLINE_CONTEXT_WARN_MESSAGEcustom non-empty message containing {pct}

Run agent-statusline selftest after changing these values. Stop warnings are user-visible only; submit and both allow the configured advice to enter the next model turn.

If the status line does not appear, run agent-statusline selftest first, then restart Claude Code. Unexpected renderer failures leave only their time and exception type in ~/.claude/statusline-last-error.json.

Update or remove

uv tool upgrade agent-statusline
agent-statusline install

Re-running install refreshes the managed Claude Code wiring while preserving unrelated configuration.

agent-statusline uninstall
uv tool uninstall agent-statusline

Uninstalling leaves the local ledger and history in ~/.claude/ intact.

Develop from a checkout

git clone https://github.com/nachiketbhujbal/agent-statusline.git
cd agent-statusline
uv sync --locked --all-groups
uv run --locked python scripts/verify_docs.py
uv run --locked pre-commit run --all-files
uv run --locked pytest --cov=agent_statusline --cov-report=term-missing
uv build

Run python3 install.py to wire a development checkout into Claude Code through a symlink; working-tree edits then become live without reinstalling. Tests use synthetic inputs and must never read the real ~/.claude state.

Contributor-facing details live in the implementation guide and host-porting boundary.

License

MIT. This independent project is not affiliated with or endorsed by Anthropic.

Downloads & popularity

2downloads
1-day window · source-reported counts20 Oct 2026
3201600
2026-09-14: 197 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-14–2026-09-142026-09-15: 320 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-15–2026-09-152026-09-16: 129 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-16–2026-09-162026-09-17: 17 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-17–2026-09-172026-09-18: 40 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-18–2026-09-182026-09-19: 12 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-19–2026-09-192026-09-20: 10 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-20–2026-09-202026-09-21: 18 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-21–2026-09-212026-09-22: 8 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-22–2026-09-222026-09-23: 2 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-23–2026-09-232026-09-24: 19 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-24–2026-09-242026-09-26: 1 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-26–2026-09-262026-09-27: 2 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-27–2026-09-272026-09-28: 1 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-28–2026-09-282026-09-30: 2 · observed 2026-10-21T14:56:48.0211351Z · period 2026-09-30–2026-09-302026-10-01: 2 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-01–2026-10-012026-10-02: 3 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-02–2026-10-022026-10-05: 14 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-05–2026-10-052026-10-06: 1 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-06–2026-10-062026-10-07: 17 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-07–2026-10-072026-10-08: 4 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-08–2026-10-082026-10-09: 2 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-09–2026-10-092026-10-10: 15 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-10–2026-10-102026-10-11: 2 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-11–2026-10-112026-10-12: 4 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-12–2026-10-122026-10-13: 6 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-13–2026-10-132026-10-14: 4 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-14–2026-10-142026-10-15: 6 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-15–2026-10-152026-10-16: 19 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-16–2026-10-162026-10-17: 18 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-17–2026-10-172026-10-18: 22 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-18–2026-10-182026-10-19: 1 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-19–2026-10-192026-10-20: 2 · observed 2026-10-21T14:56:48.0211351Z · period 2026-10-20–2026-10-20
14 Sept20 Oct

pypistats · 33 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-20 – 2026-10-2022026-10-21T14:56:48.0211351Z
2026-10-19 – 2026-10-1912026-10-21T14:56:48.0211351Z
2026-10-18 – 2026-10-18222026-10-21T14:56:48.0211351Z
2026-10-17 – 2026-10-17182026-10-21T14:56:48.0211351Z
2026-10-16 – 2026-10-16192026-10-21T14:56:48.0211351Z
2026-10-15 – 2026-10-1562026-10-21T14:56:48.0211351Z
2026-10-14 – 2026-10-1442026-10-21T14:56:48.0211351Z
2026-10-13 – 2026-10-1362026-10-21T14:56:48.0211351Z
2026-10-12 – 2026-10-1242026-10-21T14:56:48.0211351Z
2026-10-11 – 2026-10-1122026-10-21T14:56:48.0211351Z
2026-10-10 – 2026-10-10152026-10-21T14:56:48.0211351Z
2026-10-09 – 2026-10-0922026-10-21T14:56:48.0211351Z
2026-10-08 – 2026-10-0842026-10-21T14:56:48.0211351Z
2026-10-07 – 2026-10-07172026-10-21T14:56:48.0211351Z
2026-10-06 – 2026-10-0612026-10-21T14:56:48.0211351Z
2026-10-05 – 2026-10-05142026-10-21T14:56:48.0211351Z
2026-10-02 – 2026-10-0232026-10-21T14:56:48.0211351Z
2026-10-01 – 2026-10-0122026-10-21T14:56:48.0211351Z
2026-09-30 – 2026-09-3022026-10-21T14:56:48.0211351Z
2026-09-28 – 2026-09-2812026-10-21T14:56:48.0211351Z
2026-09-27 – 2026-09-2722026-10-21T14:56:48.0211351Z
2026-09-26 – 2026-09-2612026-10-21T14:56:48.0211351Z
2026-09-24 – 2026-09-24192026-10-21T14:56:48.0211351Z
2026-09-23 – 2026-09-2322026-10-21T14:56:48.0211351Z
2026-09-22 – 2026-09-2282026-10-21T14:56:48.0211351Z
2026-09-21 – 2026-09-21182026-10-21T14:56:48.0211351Z
2026-09-20 – 2026-09-20102026-10-21T14:56:48.0211351Z
2026-09-19 – 2026-09-19122026-10-21T14:56:48.0211351Z
2026-09-18 – 2026-09-18402026-10-21T14:56:48.0211351Z
2026-09-17 – 2026-09-17172026-10-21T14:56:48.0211351Z
2026-09-16 – 2026-09-161292026-10-21T14:56:48.0211351Z
2026-09-15 – 2026-09-153202026-10-21T14:56:48.0211351Z
2026-09-14 – 2026-09-141972026-10-21T14:56:48.0211351Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.4.416 Sept 20260

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
nachiketbhujbal/agent-statusline

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 23:29 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:2a7ce800f4a48c526f67c78871abc3a2e551332891b6d056943fa4ff0caa7edd