Skip to main content

erk-statusline

Custom status line for Claude Code with robbyrussell theme style.

Screenshot

Status Line Components

The status line displays (left to right):

  • Git repo: (git:repo-name) - Current GitHub repository name
  • Worktree: ({wt, br}:name) or (wt:name) - Git worktree info ("root" for main worktree, or worktree name for linked worktrees)
  • Branch: (br:branch-name) - Current git branch (combined with worktree if names match)
  • Current directory: (cwd:path) - Relative path from git root (only shown if not at root)
  • Dirty indicator: ✗ - Shows when there are uncommitted changes
  • GitHub PR info: (gh:#123 plan:#456 st:XX chks:XX):
    • #123 - PR number
    • plan:#456 - Associated issue number from .impl/issue.json
    • st: - PR state emoji: 👀 published, 🚧 draft, 🎉 merged, ⛔ closed, 💥 conflicts
    • chks: - CI checks status: ✅ passing, 🚫 failing, 🔄 pending
  • Model: (S) Sonnet, (O) Opus, or model initial

Installation

uv tool install git+https://github.com/dagster-io/erk-statusline

Or for development:

git clone https://github.com/dagster-io/erk-statusline
cd erk-statusline
uv sync

Usage

Add to ~/.claude/settings.json:

{
  "statusLine": {
    "type": "command",
    "command": "erk-statusline"
  }
}

Debugging

The statusline writes debug logs to help diagnose issues like missing chks: indicator, timeouts, or API failures.

Log location: ~/.erk/logs/statusline/<session-id>.log

To view logs for your current session:

# Find recent logs
ls -lt ~/.erk/logs/statusline/ | head

# Tail the most recent log
tail -f ~/.erk/logs/statusline/$(ls -t ~/.erk/logs/statusline/ | head -1)

Example log output:

2025-01-05 12:34:56 DEBUG Statusline invoked: session=abc123 cwd=/path/to/repo
2025-01-05 12:34:56 DEBUG Fetching GitHub data for branch=feature-branch
2025-01-05 12:34:56 DEBUG Fetching PR details: owner/repo #4225
2025-01-05 12:34:56 DEBUG Fetching check runs: owner/repo sha=abc1234
2025-01-05 12:34:57 DEBUG PR details fetched: owner/repo #4225 in 0.8s -> MERGEABLE
2025-01-05 12:34:57 DEBUG Check runs fetched: owner/repo sha=abc1234 in 0.9s -> 5 checks
2025-01-05 12:34:57 DEBUG Final result: branch=feature-branch pr=4225 checks=🔄

Common issues to look for:

  • Timeout messages - API calls taking too long (default timeout: 1.5s per call)
  • Empty checks - Final result: ... checks=(empty) means no check runs were returned
  • Cache behavior - Look for "Cache hit/miss" messages to understand caching

Development

# Run all checks (lint, typecheck, tests)
make check

# Run individual checks
make lint
make typecheck
make test

# Run tests with coverage
make test-coverage

Release files for erk-statusline 0.9.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for erk-statusline 0.9.11
File Size Uploaded
erk_statusline-0.9.11.tar.gz 24.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for erk-statusline 0.9.11
File Interpreter ABI Platform
erk_statusline-0.9.11-py3-none-any.whl Python 3 none any Details

Total release size: 42.4 kB

Release files / erk_statusline-0.9.11.tar.gz

Download URL erk_statusline-0.9.11.tar.gz
Size 24.8 kB
Tags Source
SHA-256 checksum
How to use checksums
48f00196f2c24073651839935746d5eb06a8363ef592a320f4fc5523945a64ae
BLAKE2b-256 checksum
How to use checksums
bf17908e90dfa6a72d978d3466dc52b37a08412a0b4385eb567af1f61ea4d246
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / erk_statusline-0.9.11-py3-none-any.whl

Download URL erk_statusline-0.9.11-py3-none-any.whl
Size 17.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e76a863caf87feda0cec37b1a807ae4900a9aeea8fd394770d0402d83997e359
BLAKE2b-256 checksum
How to use checksums
70da6b22642e562da9d4458981f8945da0c85ba1def1adfcf68948ab13da1eb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.9.11 This release

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.2.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page