pi-herdr
Herdr tab spinner, completion mark, and AI-generated tab labels for the Pi coding agent
Package details
Install pi-herdr from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-herdr- Package
pi-herdr- Version
0.1.1- Published
- Aug 3, 2026
- Downloads
- 98/mo · 29/wk
- Author
- yukikisaku
- License
- MIT
- Types
- extension
- Size
- 45.2 KB
- Dependencies
- 0 dependencies · 2 peers
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-herdr
Herdr tab status for the Pi coding agent.
Herdr tracks which of its panes is busy, but its tab labels stay as plain numbers. This extension puts the work back into the tab bar:
- Spinner on the tab label while the agent is working.
- 🔔 mark on the tab label when the agent finishes, cleared automatically once you look at that tab.
- AI-generated title as the tab label, so
1becomesFix OAuth callback.
Herdr already plays its own completion sound, so this extension does not add one.
Install
pi install npm:pi-herdr
It activates only inside Herdr (HERDR_ENV=1) and stays completely inactive anywhere else, so it is
safe to leave installed on every machine.
It talks to Herdr's socket API using tab.get and tab.rename only. Herdr's own herdr-agent-state
integration keeps reporting agent state; this extension never touches that.
Commands
/rename regenerate the tab label from the whole conversation
/rename Fix OAuth callback set the tab label explicitly
/pi-herdr show current settings
/pi-herdr spinner off turn the tab spinner off
/pi-herdr style braille change the spinner style
/pi-herdr speed slow change the spinner speed
/pi-herdr mark ● change the completion mark
/pi-herdr alert off turn the completion mark off
/pi-herdr naming off turn AI titles off
/pi-herdr naming-model openai/gpt-5-mini
Settings live in ~/.pi/agent/pi-herdr.json.
Title generation
Titles are generated by the model the session is already running on, at low thinking effort, in the
language you wrote in. Set naming-model to use a cheaper model instead, or - to go back to the
session model.
License
MIT