@herbertgao/pi-rename
v0.5.0
Published
Generate pi session names and rename the current Herdr tab.
Downloads
258
Maintainers
Readme
@herbertgao/pi-rename
HerbertGao-maintained fork of @tifan/pi-rename, distributed under MIT with the original attribution preserved.
Generate session names for pi and Herdr.
Install
pi install npm:@herbertgao/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 label or the temporary herdr-wrap 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 recognizes the temporary label from the Nushell herdr-wrap wrapper so saved session names still apply.
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.
