Statusline for Claude Code · built for Software 3.0

A powerline statusline your agent can drive.

Fast, themeable, and offline. agentline reads the stdin payload Claude Code sends, renders git, tokens, context window, rate limits, and session info across 38 configurable widgets, and exits. No network on the render path. No native modules. No plugin scaffolding.

  • 38 widgets
  • 6 families
  • agent-operable
  • zero render-time network
  • reversible install
# 1. install the CLI
npm install -g @odere-pro/agentline

# 2. wire into Claude Code (statusLine + skills + themes)
agentline reset

# 3. verify the wiring
agentline doctor

# 4. customise widgets, theme, and layout (TUI)
agentline edit
agentline powerline statusline for Claude Code rendered in a terminal across three rows: model and thinking effort, account email and git branch, context-window percentage, weekly usage, session and week reset timers, working directory, and permissions mode, in the claude-code-dark theme
A three-line agentline statusline with the shipped claude-code-dark theme and powerline chevrons.

Why agentline

Everything your session status needs

38 widgets across 6 families, each covering one slice of session status — composed into up to three statusline rows, then styled by a theme engine that degrades gracefully on any terminal.

git

Branch, changes & PR

Branch, worktree, change counts, conflicts, ahead/behind, upstream, origin repo, and pull-request status.

tokens

Usage & cost

Input and output token counts, cached tokens, throughput, session cost, and burn rate.

context

Context window

Window percentage used, colour-graded as fill approaches the limit.

rate-limits

Quota & resets

Session and weekly quota usage with countdown reset timers.

session

Model & account

Model, version, thinking effort, plan link, project, session id, and account.

powerline & themes

Looks sharp anywhere

Arrayed chevrons and caps, plus a theme engine that degrades from truecolor to 256-colour to 16-colour terminals.

live tui editor

Edit with a preview

agentline edit opens a live-preview editor with a searchable, family-grouped widget picker.

agent-friendly

Drive it by asking

Setup adds five agentline skills, so you can configure, theme, and troubleshoot it by asking the agent — without leaving Claude Code.

reversible & offline

Safe to try

Uninstall restores your previous statusline byte-for-byte. The render hot path makes zero network calls.

Software 3.0 · agentic engineering

Agent-operable, not "AI-powered"

In Andrej Karpathy's framing, Software 3.0 is the era where an LLM is the runtime and natural language is the program — so the interesting design surface is the set of interfaces an agent can drive. agentline has no language model on its render path. It earns the label a different way: every interface is shaped so an agent can install, configure, theme, and troubleshoot it on its own.

01

Stable input contract

The renderer reads a versioned, bounded JSON envelope on stdin and writes ANSI bytes on stdout. One adapter absorbs host drift; the agent's mental model of "what comes in" stays valid.

02

Scriptable CLI verbs

A deliberately flat verb table — render, edit, doctor, reset, uninstall, config — every verb reachable from a single --help view.

03

Programmable config API

The whole layout is editable via agentline config widget (add, remove, move, replace, set-option). Every mutation is pure, schema-validated, and written atomically — a broken config is rejected before it reaches disk.

04

Seeded subagent skills

Setup copies five skill files into Claude Code. Each file's description is its dispatch contract, so the host routes natural-language requests to the right runbook — the docs are the agent's import path.

05

Briefings & glossary

Per-directory CLAUDE.md briefings plus an authoritative glossary keep vocabulary stable release over release. Gates enforce parity, so prompts that cite a term keep working.

Worked example. You ask Claude Code: "switch agentline to a high-contrast theme."

  1. The request matches the themes skill via its description.
  2. The skill reads the current layout with agentline config widget list --json.
  3. It picks a theme and mutates your config — through the TUI or by writing schema-valid JSON — saved atomically.
  4. agentline doctor confirms the wiring is intact.
  5. The next prompt cycle re-renders with the new theme.

No new endpoint, no agent framework, no eval harness — five small steps, each backed by an explicit contract. Read the full thesis →

The catalogue

All 38 widgets, one slice each

Pick a family to filter, or browse the whole set. Widgets accumulating tokens or quota declare an explicit reset axis — session, block, day, week, model, or effort — so totals never mix boundaries.

Filter widgets by family

Model

session

model

Active model id (e.g. Sonnet 4.6).

Version

session

version

Claude Code version.

Thinking effort

session

thinking-effort

Thinking-effort tier: low, medium, or high.

Plan

session

plan

Active plan for the current session.

Project

git

project

Project name — git repo or working-directory folder.

Session id

session

session-id

Short session id.

Account email

session

account-email

Logged-in account email.

  • full
  • domain
  • localpart

Session duration

session

session-duration

Host-reported session elapsed time (e.g. 12m 30s).

Lines changed

session

lines-changed

Host-reported lines added and removed this session (e.g. +156 −23).

Thinking enabled

session

thinking-enabled

Whether extended thinking is on (complements effort).

Project dir

git

project-dir

Launch-directory name (distinct from the git repo name).

Working directory

session

cwd-path

Current working-directory path, home-collapsed and truncatable.

Agent name

session

agent-name

Active subagent persona name.

Tokens

tokens

tokens

Input + output token subtotals for the chosen reset axis.

Tokens (cached)

tokens

tokens-cached

Cached-token subtotal (prompt-cache hits).

Token speed

tokens

token-speed

Input + output tokens per second over the active window.

Cost (USD)

tokens

cost-usd

Host-reported session cost in USD (e.g. $1.23).

Cost burn rate

tokens

cost-burn-rate

Session spend rate in USD per hour (e.g. $1.20/hr).

API duration

tokens

api-duration

Time spent waiting on the API (absolute or % of wall).

Cost efficiency

tokens

cost-efficiency

Share of wall-clock spent in API calls, as a percent.

Cost vs limit

tokens

cost-vs-limit

Session spend against a configured budget (e.g. $1.20/$5).

Context %

context

context-percentage

Percentage of the model's context window used.

200k flag

context

context-200k-flag

Badge when the prompt exceeds the 200k-token threshold.

Context cached

context

context-cached

Session cached-token count (e.g. 0.8k cached).

Session + weekly usage

rate-limits

session-weekly-usage

Live session + weekly usage % from Claude Code's /usage.

Reset timer

rate-limits

reset-timer

Session + weekly reset on one cell (countdown or wall-clock).

  • short
  • long
  • clock
  • at-24h
  • at-12h
  • at-seconds

Git branch

git

git-branch

Current branch, or short SHA when detached.

Git worktree

git

git-worktree

Basename of the current worktree.

Git changes

git

git-changes

Staged, unstaged, and untracked file counts.

Git conflicts

git

git-conflicts

Merge-conflict file count.

Git ahead/behind

git

git-ahead-behind

Commits ahead of and behind upstream.

Git upstream

git

git-upstream

Upstream branch, e.g. origin/main.

Git origin repo

git

git-origin-repo

Repo segment of the origin remote URL.

Git pull request

git

git-pr

PR for HEAD's branch (opt-in network).

  • number
  • url
  • title
  • number-title

Clock

other

clock

Current time of day (24h or 12h).

  • 24h
  • 12h

Added dirs

other

added-dirs

Count of extra workspace roots added via /add-dir.

Output style

other

output-style

Active output style (e.g. explanatory, learning).

Vim mode

other

vim-mode

Active vim mode (NORMAL, INSERT, …).

Themes & rendering

Looks sharp everywhere it lands

Colour is semantic, not decorative: every widget resolves its colour from a named role, so a theme is a small JSON file you can swap or author yourself.

powerline

Stitched segments

Optional chevrons and caps stitch adjacent segments together, with colour transitions computed between neighbours.

graceful colour

Degrades to fit

The engine degrades automatically: truecolor → 256-colour → 16-colour → none, matching whatever the terminal advertises.

accessible by flag

Plain when asked

--no-color for plain text, --no-unicode or --ascii to swap glyphs for ASCII. NO_COLOR is honoured too.

shipped & custom

Bring your own

claude-code-dark ships in the box; drop your own theme JSON into your agentline config directory and reference it by name.

Get started

Install in four commands

Requires Node.js 20 LTS or newer, and Claude Code run at least once. reset is the canonical setup verb — safe to run whether agentline is new or already set up.

# 1. install the CLI
npm install -g @odere-pro/agentline

# 2. wire into Claude Code (statusLine + skills + themes)
agentline reset

# 3. verify the wiring (add --fix to self-repair)
agentline doctor

# 4. customise widgets, theme, and layout (TUI)
agentline edit

Your settings are safe. agentline reset backs up your existing statusLine before wiring its own. Run agentline uninstall any time to restore it byte-for-byte and remove the installed skills.

Uninstall

# restore the previous statusLine, remove installed skills
agentline uninstall

# also wipe agentline config and any custom themes
agentline uninstall --purge

Questions

Frequently asked questions

How do I customize the Claude Code statusline?
Run agentline edit for the live TUI editor, or ask the agent in any Claude Code session to add a widget or swap the theme. The scriptable agentline config widget subcommands (add, remove, move, replace, set-option) cover the same ground from the shell.
Can I show my git branch, token usage, or context-window percentage with Claude Code?
Yes. The git, tokens, and context families cover branch, worktree, change counts, conflicts, ahead/behind, upstream, pull-request status, input and output token counts, cached tokens, throughput, session cost, cost burn rate, spend against a budget, API duration, and context-window usage with a 200k-token flag — and the session family adds the working-directory path, clock, output style, vim mode, and active agent name. 38 widgets across 6 families in total.
What is Software 3.0 and why is agentline agent-operable?
Software 3.0 means the product is reachable by an LLM agent without a human in the loop. agentline has no language model on its render path; instead it ships a stable stdin contract, a flat scriptable CLI, a programmable config-mutation API, five seeded Claude Code skills, and an authoritative glossary — so an agent can install, configure, theme, and troubleshoot it using only natural language and the terminal.
How do I uninstall agentline and restore my previous statusline?
Run agentline uninstall to restore your previous statusLine byte-for-byte and remove the installed skills. Add agentline uninstall --purge to also wipe your agentline config and custom themes. Setup takes a backup first, so the round-trip leaves no trace.
Does agentline support no-color, ASCII, or accessible terminals?
Yes. Pass --no-color for plain text, --no-unicode or --ascii to replace separators and glyphs with ASCII, and the theme engine auto-degrades from truecolor to 256-colour to 16-colour terminals. NO_COLOR is honoured as well.
Does agentline make network calls or slow down the prompt?
No. The render hot path makes zero network calls — themes and the widget registry are embedded — so the statusline draws from local state only. The TUI editor and its dependencies are lazy-imported and never touch the render path.