What's Changed
- Added support for sending messages immediately to Claude Code while it is working, including messages already queued. Send Now is blocked while Claude is waiting for an answer to a question.
- Added support for the terminal pane minimap, with pane positions for tmux, Herdr and Rex, pane order for Herdr Core, and selecting a pane from the map. Rex layouts use the host's window dimensions when available. Rex and Herdr Core also support cycling through panes, tabs and workspaces, including rapid consecutive switches.
- Fixed
moshi-hook install --target hermesbreaking~/.hermes/config.yamlwhen its plugin list isn't indented (the style Python's YAML writes by default). If the config can't be updated safely, install now leaves it untouched and says how to add the entries by hand.moshi-hook installalso exits with an error when any target fails. - Chat View loads long Claude conversations much faster when you reopen or reconnect to them.
- Fixed sending an image from Chat View hanging forever on Linux desktops with
wl-copyorxclipinstalled. - Claude sessions stay Working for the whole turn instead of dropping to Idle during long tool calls or open questions. Turns started by a background task now show as Working too.
- Fixed a Claude question card that stayed open when another hook declined the question.
- Fixed an idle Claude pane showing another session when several Claude sessions run in the same folder, for example with different
CLAUDE_CONFIG_DIRaccounts. - Fixed Chat View sometimes staying on an earlier conversation after
/clear. - Inbox cards for Claude sessions in tmux show the name you gave the session with
/rename, or a tmux window name you set, instead of the tmux session name. - Fixed answering a Codex question from the phone when its title contains Markdown, such as a link, or is too long to fit on screen.
- Fixed a Codex session losing its title and Chat View after you edit an earlier message.
- Herdr Core: the Sidebar works when you start it with plain
hc. Named Herdr Core sessions (HC_SESSION) are listed alongside the default one, and a host that runs only Herdr Core picks it automatically. Fixed the wrong session being marked as default when moshi-hook was started from a named session's terminal. Fixed paste failing in some programs in Herdr Core terminals in Moshi Go. - Windows: Herdr Core sessions now show up in Moshi and
moshi-hook doctor, not only the standalone herdr session. - Fixed
moshion Windows staying on an old version after moshi-hook updated itself. - Pi: subagents (for example from
pi-subagents) no longer take over Chat View; it stays on the parent session. When a turn fails, for example because the provider refused it, its notification shows the reason instead of "Pi complete". Runmoshi-hook install --target piand restart Pi after updating. - Rex: new
moshi-hook set rex-server <socket>chooses which Rex server moshi-hook uses, for example when it runs as a Homebrew service and can't seeREX_SERVER. - Clearer errors in the daemon log when Moshi's servers reject an event.
- Web app: host tabs are grouped by machine, with names, colors, collapsible groups and shortcuts for switching machines and their tabs. A new Connections settings page lets you manage saved hosts, choose machine icons, and see connection status, versions and latency.
- Web app: the sidebar puts waiting workspaces first and folds quiet rows. Creating a workspace, terminal, tab, pane or agent opens it automatically; New agent lists all available agents. Git actions show progress and report their results.
- Web app: copy inline code with a click and images from their right-click menu. Thinking blocks start expanded, approval cards show the command, and Stop immediately shows "Interrupting…". Uploaded file chips stay with their own chat, and host file links open in the file panel.
- Web app: file and diff views can wrap long lines, code colors follow the selected palette, and web previews have a reload button. Settings can follow the system appearance, and host settings can restart moshi-hook in place.
- Web app: fixed terminal reconnects getting stuck after a refused connection.