https://github.com/rjyo/herdr-window-title-sync
Syncs terminal titles from workspaces, tabs, and agent sessions (use w/ Moshi)
https://github.com/rjyo/herdr-window-title-sync
herdr herdr-plugin moshi terminal-title
Last synced: 14 days ago
JSON representation
Syncs terminal titles from workspaces, tabs, and agent sessions (use w/ Moshi)
- Host: GitHub
- URL: https://github.com/rjyo/herdr-window-title-sync
- Owner: rjyo
- License: mit
- Created: 2026-06-23T16:02:11.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-26T04:04:01.000Z (30 days ago)
- Last Synced: 2026-06-26T06:05:48.269Z (30 days ago)
- Topics: herdr, herdr-plugin, moshi, terminal-title
- Language: JavaScript
- Homepage:
- Size: 4.88 KB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Herdr Window Title Sync
Sync the outer terminal window/tab title to the focused Herdr workspace, tab, and agent session.
This is useful for terminals and clients that track the terminal title, similar to tmux `set-titles`.
I made this because I wanted Herdr sessions to show useful titles in [Moshi](https://getmoshi.app). Tmux already updates the terminal title, so resumed sessions are easy to recognize. Herdr did not do that in the same way, and `1` was not enough context.
## Install
```sh
herdr plugin install rjyo/herdr-window-title-sync
```
For local development:
```sh
herdr plugin link .
```
## What It Shows
The plugin chooses the first available title:
1. Herdr pane metadata title, when an integration reports one.
2. Herdr display agent and custom status.
3. Latest user prompt from local Codex or Claude Code session files.
4. Herdr's detected agent name.
5. The focused tab as a fallback, numbered by its switch order (prefix + N).
The focused workspace name is appended in parentheses. Examples:
```text
codex: Implement title sync (app-ios)
claude (app-ios)
tab 2 (app-ios)
tab 5 / sim (app-ios)
```
## Manual Refresh
```sh
herdr plugin action invoke rjyo.window-title-sync.refresh
```
## Privacy
The plugin runs locally and does not send data over the network. As a fallback, it reads local Codex and Claude Code session JSONL files to find a useful title when Herdr does not expose one directly. That means prompt text may appear in your terminal window/tab title.
## Requirements
- Herdr `0.7.0` or newer
- Bun available on `PATH`
- macOS or Linux
## License
MIT