terminal_title_stripped → pane

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.

Install plugin herdr docs
install
herdr plugin install jovylle/herdr-session-title-name --yes
sidebar (pane-aware)
rows = [["terminal_title_stripped"], ["pane"], ["tab"]]
verify
herdr pane list | jq herdr api snapshot | jq '.result.snapshot.panes[]'
preview — workspace → tab → pane
LAB workspace
─────────────────────────────────
hey what is 1 plus 1 ← ["terminal_title_stripped"] on top
hermes ← ["pane"] per-pane (split A)
github/jovylle ← ["tab"] layout (never auto-renamed)
─────────────────────────────────
split B: second task ← pane label, survives close
tab bar: 1 ← numeric stays, not renamed

Empty pane labels auto-rename to own stripped title; tabs are never touched. Manual DASH/HUB pane names also untouched.

How it works (no fork needed)

Panes (splits + singles)

Each pane where label is empty → herdr pane rename <pane_id> <stripped_title>. Per-pane, not focused-only. Tab rename disabled.

Tabs

Tabs are never auto-renamed — 1, 2, github/jovylle, DASH all stay as-is. Only pane name changes.

Event hooks

tab.created / pane.created / pane.focused / tab.focused / pane.exited → sync.sh via herdr api snapshot (pane rename only).

Startup poller

watch.sh loops every 1.5s — catches OSC title changes from hermes --tui -c that don’t fire a hook (pane only).

Sidebar — show pane names

Herdr sidebar tokens: pane, tab, terminal_title_stripped (config docs). To see split names, include pane:

[ui.sidebar.agents] rows = [ [{ token = "terminal_title_stripped", fg = "#000000" }], ["state_icon", { token = "pane", fg = "#101000" }], [{ token = "tab", fg = "#101010" }] ] # pane borders too: # [ui] # show_agent_labels_on_pane_borders = true

Repuposed

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.

herdr plugin log list --plugin jovylle.session-title-name herdr pane list | jq herdr api snapshot | jq '.result.snapshot.panes[] | {pane_id, label, terminal_title_stripped}'
MIT · jovylle · herdr docs: sidebar row layouts · repo redeploy: npx wrangler pages deploy site --project-name herdr-session-title-name --branch main