peon-ping-rename
The peon-ping-rename Claude Code skill allows users to assign custom names to their Claude sessions, which then appear in desktop notifications and terminal tab titles. Use it when working on multiple projects simultaneously or wanting clearer task identification in notifications, calling it with a custom name like "/peon-ping-rename Auth Refactor" or with no argument to reset to automatic detection.
git clone --depth 1 https://github.com/PeonPing/peon-ping /tmp/peon-ping-rename && cp -r /tmp/peon-ping-rename/skills/peon-ping-rename ~/.claude/skills/peon-ping-renameSKILL.md
# peon-ping-rename
Give the current session a custom name shown in desktop notification titles and the terminal tab title.
## How it works
When the user types `/peon-ping-rename <name>`, a **UserPromptSubmit hook** intercepts the command before it reaches the model:
1. Extracts the session ID and name
2. Writes `session_names[session_id] = name` to `.state.json`
3. Immediately updates the terminal tab title via ANSI escape sequence
4. Returns confirmation (zero tokens used)
On every subsequent hook event, peon.sh reads `session_names[session_id]` as the highest-priority project name. Multiple tabs in the same repo each get independent names.
## Usage
```
/peon-ping-rename Auth Refactor
/peon-ping-rename API: payments
/peon-ping-rename ← reset to auto-detect
```
Names are capped at 50 characters. Allowed: letters, numbers, spaces, dots, hyphens, underscores.
## Manual fallback (if hook fails)
### 1. Get the session ID
```bash
echo "$CLAUDE_SESSION_ID"
```
### 2. Write name to state
```bash
python3 -c "
import json, os, time
state_path = os.path.expanduser('~/.claude/hooks/peon-ping/.state.json')
try:
state = json.load(open(state_path))
except:
state = {}
state.setdefault('session_names', {})['SESSION_ID_HERE'] = 'My Session Name'
json.dump(state, open(state_path, 'w'), indent=2)
"
```
### 3. Trigger a hook event to refresh the tab title
Submit any prompt — peon.sh will pick up the new name on the next `UserPromptSubmit` or `Stop` event.
## Reset
```
/peon-ping-rename
```
Or remove the session ID from `session_names` in `.state.json` directly.
## Priority
`/peon-ping-rename` > `CLAUDE_SESSION_NAME` env var > `.peon-label` file > `notification_title_script` > `project_name_map` > `notification_title_override` > git repo name > folder nameUpdate peon-ping configuration — volume, pack rotation, categories, active pack, and other settings. Use when user wants to change peon-ping settings like volume, enable round-robin, add packs to rotation, toggle sound categories, or adjust any config.
Log exercise reps for the Peon Trainer. Use when user says they did pushups, squats, or wants to log reps. Examples - "/peon-ping-log 25 pushups", "/peon-ping-log 30 squats", "log 50 pushups".
Toggle peon-ping sound notifications on/off. Use when user wants to mute, unmute, pause, or resume peon sounds during a Claude Code session. Also handles config changes like volume, pack rotation, categories — any peon-ping setting.
Set which voice pack (character voice) plays for the current chat session. Automatically enables session_override rotation mode if not already set. Use when user wants a specific character voice like GLaDOS, Peon, or Kerrigan for this conversation.