Skip to main content

headroom
headroom
Capture · Install · CLI reference · Bounds · Troubleshooting

MIT license Zero dependencies Python 3.9 or newer

Claude Code and Codex enforce rolling usage limits but show the numbers only to a human, so the model never sees them and can keep working right up to the wall. headroom captures those readings and warns the model when it should conserve usage.

Install and first run

The package is not published yet. Once it is published, the shortest path will be:

uv tool install headroom-cli
headroom init --all
headroom status

Until then, run one of these from a clone:

uv tool install .
pip install -e .

Then run headroom init --all and headroom status. Plain headroom init configures Claude Code only, while --codex configures Codex only. See the installation guide for safe previews and the plain-clone fallback.

Example output

headroom status reports every source and window:

Claude
  5h: 12% used [ok], resets in 1h 59m
  7d: unavailable
Codex
  5h: unavailable
  7d: >=94% used [critical], resets in 1h 59m

Near a limit, the prompt hook gives the model a short action:

Usage headroom: Codex weekly >=94% used (reading 1h 0m old), resets in 1h 59m.
Stop parallel subagent fan-out, use cheaper models, and checkpoint work now.

Documentation

Document What it covers
CLI reference Every command, flag, environment variable, state file, exit code, and the opt-in update check.
Why the bounds are sound Fresh, stale, and post-reset readings, reset validation, and severity.
How capture works Claude statusline input, Codex app-server RPC, and rollout fallback.
Installation guide Claude Code settings, the CODEX_HOME/hooks.json path, safe init previews, backups, and clone installs.
Troubleshooting Unavailable or stale readings, unknown resets, doctor output, and state reset.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

headroom_cli-0.1.1.tar.gz (59.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

headroom_cli-0.1.1-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

Details for the file headroom_cli-0.1.1.tar.gz.

File metadata

  • Download URL: headroom_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 59.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for headroom_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d4daf35feb3d12e5230efdb0e0d26250f8018e683cfe14687d467c300d2713ed
MD5 525d244b5b0110ac42ff812a88a9cb52
BLAKE2b-256 f3d2e3c3ab3188810533fefc254e2a01c73e952b94551f126eb2113eb1474c9d

See more details on using hashes here.

File details

Details for the file headroom_cli-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: headroom_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 36.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for headroom_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7042f63ea7b7ea166e2ea81b489a10e3978ee66652671a43fbaa2e885e9ad51c
MD5 da8839b53290de6c53e60386765baf38
BLAKE2b-256 a7630b612df05eb5614101bc25088c3cc5bb3a69526116d1140bcef8786cf3fb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page