Headroom Kit
Run an existing coding agent through a local Headroom proxy. Kit owns routing, Copilot authentication, editor isolation, and the shared proxy. Headroom owns compression and metrics. This package does not install agents, replace the headroom command, or download Python packages when an agent launches.
agent -> headroom-kit -> Headroom on 127.0.0.1 -> model provider
Install
You need Python 3.13 and the agent you want to launch. Kit and its pinned Headroom dependency install into the same environment:
uv tool install --python 3.13 headroom-kit
A normal virtual environment works too:
uv venv --python 3.13
uv pip install headroom-kit
. .venv/bin/activate
Do not point Kit at a separate headroom executable. It imports Headroom's Python modules. Copilot login is headroom-kit copilot-auth login in that same install. Headroom may still download its own model files on first proxy startup. That is separate from installing this package.
Check both versions without starting a proxy:
headroom-kit --version
Set up with an agent
This repository includes install-headroom-kit, an Agent Skill that installs the CLI and checks the Headroom version without starting a proxy.
The skills CLI can install it for the current project:
npx skills add ruarfff/headroom-kit --skill install-headroom-kit
Make it available to your agents:
npx skills add ruarfff/headroom-kit --skill install-headroom-kit --agent '*' --global --yes
See the skills CLI documentation.
Commands
headroom-kit [--config PATH] run <agent> -- <agent arguments...>
headroom-kit copilot-auth login
headroom-kit status
headroom-kit stop <port>
Agents: codex, codex-app, copilot, copilot-app, copilot-vscode, pi, opencode.
headroom-kit copilot-auth login
headroom-kit run codex --
headroom-kit run copilot -- --model auto
headroom-kit run pi -- --provider openai --model <model-id>
headroom-kit run opencode --
headroom-kit status
headroom-kit stop 8787
Arguments after -- are forwarded unchanged. headroom-kit run codex -- --help shows Codex help and does not start a proxy. status and stop do not need provider credentials or model downloads.
Agent launches open the Headroom dashboard in your default browser on macOS and Linux desktops. Set HEADROOM_OPEN_DASHBOARD=0 to disable this. SSH sessions and Linux sessions without a display skip it.
Shared proxies stay up after the client exits. Stopping one interrupts every client on that port. Kit will not adopt or stop an unrelated listener. An incompatible managed proxy must be stopped explicitly before a new one can use the port.
Configure
Built-in defaults are enough for a normal install. --config accepts a JSON object of non-secret integration defaults. Precedence is HEADROOM_* environment variables, then the file, then the built-in defaults. See configuration.
HEADROOM_VERSION, and config keys version, uv, and python, are rejected. Install the tested Headroom release instead of selecting one at launch.
Agents
Install and sign in to the agent yourself. Kit does not install it.
| Agent | Prerequisite |
|---|---|
codex |
Existing Codex sign-in. Built-in OpenAI provider only. |
copilot |
headroom-kit copilot-auth login, then a Copilot CLI that honours COPILOT_API_URL. |
copilot-app |
macOS only. Quit GitHub Copilot before launch. Uses a separate profile with Headroom models. |
pi |
Pi installed. Copilot routing uses headroom-kit copilot-auth login. |
opencode |
OpenCode v2. |
copilot-vscode |
code or code-insiders. Uses an isolated profile, not your normal editor data. |
codex-app |
macOS only. Quit Codex before launch. |
Windows is not part of this package. Linux and macOS CLI lifecycle checks run in CI. GUI behaviour is platform-specific; live Linux agent support is not verified. Details are in usage and validation.
Metadata
Release files for headroom-kit 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| headroom_kit-0.1.3.tar.gz | 248.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| headroom_kit-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 279.6 kB
Release files / headroom_kit-0.1.3.tar.gz
| Download URL | headroom_kit-0.1.3.tar.gz |
|---|---|
| Size | 248.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ea1b6c84a99d8c5236b8a3777621fa9e6e7a76a4bcd41a2b46e069651e90915
|
|
BLAKE2b-256 checksum How to use checksums |
6ea32d971a7cebe4e788af8c805fb0af77e64f7be60fb5f04f798e42e5d97f61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / headroom_kit-0.1.3-py3-none-any.whl
| Download URL | headroom_kit-0.1.3-py3-none-any.whl |
|---|---|
| Size | 30.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4c55f6c0f27105227476028f9e11d9c92a69b021a4ff9f34242f410964755708
|
|
BLAKE2b-256 checksum How to use checksums |
a95d5cfdef4a81a54d51915230594afe57803e61edcff77bef26a0899a98102e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency log