@tifan/pi-rename
v0.5.1
Published
Generate pi session names and rename the current Herdr tab.
Downloads
730
Maintainers
Readme
@tifan/pi-rename
Generate session names for pi and Herdr.
Install
pi install npm:@tifan/pi-renameThis package requires Pi 0.84.2 or newer.
How it works
Run /rename to generate a fresh hyphen-separated session name. The extension applies the name to the pi session and, when pi is running inside Herdr, to the current pane and tab when it is the tab's only pane, or to the current pane in a split tab.
When a named session starts or resumes in Herdr, the extension applies the saved pi session name when the target still has its default or temporary startup label.
/rename builds naming context from the first user message plus up to three latest user messages. It ignores assistant replies, tool output, and attachments. Before sending context to the rename model, it redacts common secrets.
If the rename model is unavailable, /rename falls back to a local name from the latest user message.
Commands
/rename: Generate and apply a session name./rename status: Show model and rename status./rename config: Choose a rename model./rename help: List rename commands.
Manual names are not supported. Use pi's built-in /name command when you want an exact name.
Configuration
Out of the box, pi-rename uses this default model: openai-codex/gpt-5.6-luna.
Run /rename config to choose a different model.
After you choose a model, pi-rename uses only that model. Choose Use default in /rename config to return to the default.
You can also edit $PI_CODING_AGENT_DIR/extensions/pi-rename.json manually:
{
"model": "openai-codex/gpt-5.6-luna"
}Herdr behavior
Herdr tab renaming requires the herdr CLI. If it is unavailable, the extension still renames the pi session.
The extension uses HERDR_PANE_ID to find the current Herdr pane. With one pane in the tab, it renames both the pane and tab. With sibling panes, it renames only the current pane.
On session startup or resume, it does not overwrite custom Herdr labels. It replaces only Herdr's default or temporary startup labels, so saved session names still apply.
If your launcher gives Pi a temporary Herdr label, it must set HERDR_TEMPORARY_LABEL before starting Pi. The value must match the label shown in Herdr. In Bash, pass it to Pi inline:
HERDR_TEMPORARY_LABEL="my-project (pi)" piIf you do not set this variable, pi-rename replaces only Herdr's default label.
On quit, the target keeps the last session name.
If pi is not running inside Herdr, only the pi session name is updated.
Release notes
See CHANGELOG.md
