@henryqw/pi-footer

Show concise repository, branch, and usage details in the Pi footer.

Packages

Package details

extension

Install @henryqw/pi-footer from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@henryqw/pi-footer
Package
@henryqw/pi-footer
Version
1.0.0
Published
Sep 5, 2026
Downloads
1,836/mo · 1,476/wk
Author
henrywang
License
MIT
Types
extension
Size
16.8 KB
Dependencies
1 dependency · 3 peers
Pi manifest JSON
{
  "image": "https://raw.githubusercontent.com/HenryQW/pi-harness/main/extensions/pi-footer/example.png",
  "extensions": [
    "./extensions/footer.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@henryqw/pi-footer

Keep checkout identity, model usage, elapsed agent work, and extension status visible in Pi.

Pi footer showing repository, pull request, quota, usage, model, and extension status

Why

  • Created for: Pi users who need current checkout and usage details while they work.
  • Advantage: See repository, PR, model, cost, and status details without running separate commands.

Install

pi install npm:@henryqw/pi-footer

With

Package Why
@henryqw/pi-multi-codex Improves. Adds active Codex subscription quota and reset status.
@henryqw/pi-open-in Improves. Adds /open and /set-open-in commands for editor configuration.
@henryqw/pi-pr Improves. Adds current-branch pull-request status.

Use

The footer shows checkout, usage, model, thinking, and extension statuses.

pi-harness · clear-field-f8d2 · PR #123 · approved    Codex #1 · 50% · 7d 1d 1h 22m
↑ 12.4k · ↓ 2.1k · ↺ 84.3% · ⚡ 87.4 t/s · $ 0.127 · ◔ 36.8%    gpt-5.6-luna • high
●  🐴 ponytail: ⚡ FULL                                                    ◷ 12m 34s
  • The first line shows the repository, branch, and pi-pr pull request status after the clickable checkout link. Linked-worktree branches drop the generated worktree/ prefix.
  • The second line shows cumulative input tokens, output tokens, latest cache-hit rate, and tokens per second for the most recent assistant response. It also shows estimated cost and context usage. Totals include reported tool usage and finished pi-subagent background workflows. The active model and thinking level are right-aligned.
  • The third line shows other extension statuses on the left and cumulative agent-work time on the right, beneath the active model.

Unavailable values render as without a misleading percent sign.

off uses the same dim grey as the model name. Active levels use an ANSI-256 gradient: green minimal, yellow-green low, lime medium, yellow high, orange xhigh, and red max.

ultra renders as a rainbow when the active Pi runtime supplies that thinking level. Unsupported levels never appear.

Non-empty statuses from @henryqw extensions, currently Codex quota, occupy the right side of the first line.

Agent-work time counts each run from agent_start through the final idle agent_settled. It includes automatic retries and auto-compaction inside that run. It excludes blocking user-prompt waits and idle waits between runs.

Standalone /compact is excluded because it runs outside the agent-run lifecycle and emits no agent_start. The cumulative total is persisted in the session through a pi-footer:agent-work custom entry after each finalized run. It is restored on session resume.

Statuses from all other extensions, including Ponytail and pi-rewind, share the left side. They are sorted by key with producer text, spacing, colors, links, and glyphs preserved.

Clickable checkout

When the configured executable is code and Pi reports hyperlink support, the accent-colored checkout name links to the current path. The link opens a new window for code -n or code --new-window. A missing config silently uses code. Other executables and terminals with hyperlinks disabled render plain text.

Use Pi fullscreen TUI so Pi handles the custom URI:

{
  "tuiMode": "fullscreen"
}

Set this through /settings, or launch with --tui-mode fullscreen. Then use normal primary click. Regular TUI delegates OSC 8 activation to the terminal.

Ghostty uses Cmd+click but may not open custom URI schemes.