Session + title
in herdr sidebar

Show HERDR_SESSION as $session_name and your prompt terminal_title_stripped — without touching tab/workspace labels.

View on GitHub herdr plugins
plugin id
jovylle.session-name
install
herdr plugin install jovylle/herdr-session-name --yes
custom tokens
$session_name, $session
native token
terminal_title_stripped
sidebar preview — [ui.sidebar.agents]
agents priority
─────────────────────────────────
hermes hermes ← ["agent","$session_name"]
hey what is 1 plus 1 ← ["terminal_title_stripped"]
● herdr-fork ← ["state_icon","workspace"]
1 ← [{token="tab"}] untouched

Title is from hermes --tui -c "..." via OSC. Session is from HERDR_SESSION via plugin. Tab keeps 1 / DASH.

Install

herdr plugin install jovylle/herdr-session-name --yes herdr plugin list herdr api snapshot | jq '.result.snapshot.panes[] | .tokens'

Config — what worked

[ui.sidebar.agents] row_gap = 0 rows = [ ["agent", "$session_name"], ["terminal_title_stripped"], ["state_icon", "workspace"], [{ token = "tab", fg = "#101010" }] ]

Reload after edit: herdr server reload-config

other layouts
[["agent"], ["terminal_title_stripped"], ...] [["$session_name"], ["terminal_title_stripped"], ...] [["agent","$session_name","terminal_title_stripped"], ...]
  • Never calls tab rename — safe across herdr update
  • Plain herdr (default session) → $session_name disappears
  • Title is native — no env needed
  • Verify: herdr plugin log list --plugin jovylle.session-name

Reliability

Stable API only

Uses [[events]] on = "pane.created" + $HERDR_BIN_PATH + pane report-metadata --token from herdr.dev/docs/plugins. No core patch, no CNAME-only 522.

Add-only tokens

Unreported custom tokens disappear (docs). No duplicate hermes-test tabs, no overwrite of manual renames.

MIT · jovylle · herdr sidebar docs redeploy: npx wrangler pages deploy site --project-name herdr-session-name --branch main