Workspace → Tab → Pane is the real terminal. Each pane with no manual name gets its own stripped OSC title — tab rename is disabled — so hermes --tui -c "hey..." survives after exit as pane label only.
Empty pane labels auto-rename to own stripped title; tabs are never touched. Manual DASH/HUB pane names also untouched.
Each pane where label is empty → herdr pane rename <pane_id> <stripped_title>. Per-pane, not focused-only. Tab rename disabled.
Tabs are never auto-renamed — 1, 2, github/jovylle, DASH all stay as-is. Only pane name changes.
tab.created / pane.created / pane.focused / tab.focused / pane.exited → sync.sh via herdr api snapshot (pane rename only).
watch.sh loops every 1.5s — catches OSC title changes from hermes --tui -c that don’t fire a hook (pane only).
Herdr sidebar tokens: pane, tab, terminal_title_stripped (config docs). To see split names, include pane:
Renamed from herdr-session-name (which used $session_name + session_title alias via fork) → now herdr-session-title-name pure plugin at /lab/herdr-session-title-name. Fork at /lab/herdr-fork left clean for upstream contributions. No fork build required for users.