github craftzdog/tmux-claude-hatch v1.0.1

latest releases: v1.5.0, v1.4.0, v1.3.0...
3 months ago

Status now comes straight from Claude Code instead of from hooks.

Breaking changes

  • Requires Claude Code >= 2.1.139 (for claude agents) and jq.
  • Remove the tmux-claude-session-manager hooks block from ~/.claude/settings.json. scripts/state.sh is deleted, so those hooks now invoke a script that no longer exists and will fail on every event.

Features

  • Read agent status from claude agents --json. Each Claude session self-reports its state to a supervisor daemon, so the plugin no longer needs Claude Code hooks to track status — state.sh and the @claude_state / @claude_state_at tmux options are gone.

    Identity is now the Claude process rather than the tmux session. Previously a session name was a hash of the project path, so a project mapped to exactly one row and concurrent agents overwrote each other's state. The new scripts/agents.sh joins pid → tty → pane, so several agents in one project each get their own row — as does a Claude you started by hand in an ordinary pane, which #{pane_current_command} cannot detect (on macOS a pane reports its parent shell, never the claude child).

    Rendering now costs three subprocesses regardless of how many sessions or panes exist, down from three tmux calls per session.

  • Add a @claude_args option for passing extra CLI parameters to launched sessions (e.g. set -g @claude_args '--dangerously-skip-permissions')

  • Stack the preview above the list and pin it to the end using fzf's follow flag, so you see each pane's latest output rather than old scrollback

Docs

  • Fix the jq URL

Don't miss a new tmux-claude-hatch release

NewReleases is sending notifications on new releases.