Claude Code Status Without Lifecycle Hooks
Nash 0.11.1 can receive status directly from Claude Code 2.1.295 or newer.
There is no hook installation step: run claude in a Nash pane. This release
also changes visual feedback and fixes mux pane behavior, but upgrading a
running mux server needs a deliberate, destructive restart.
Let Claude Code Report Its Own State
Claude Code uses the Program Status Protocol, OSC 7501. At startup it asks whether the terminal supports the protocol, and Nash answers. The tab and pane indicators can then distinguish active work, a request for your attention, and a completed or failed turn.
That distinction extends beyond the main turn. Subagents and other tasks report their own state, so work that continues after a turn ends can keep the busy indicator active. Interrupting a turn clears its status immediately. Reporting works in local panes and mux panes.
If an older Nash installed Claude Code hooks, remove them:
nash agent-status uninstall claude-codeThose legacy hooks do nothing in 0.11.1 but still start a process for each
event. Remove them before a later Nash release drops the legacy command: failing
hooks can block Claude Code prompts, tool calls, or turn completion. For
project-local hooks, add --scope project; nash agent-status show identifies
files that still contain them. This transition applies to Claude Code, not a
blanket removal of other agents' integrations. See the
agent setup guide for the
requirements and cleanup details.
Make Confirmations and Tab Selection Distinct
Config reloads, copies, and session saves now produce notification cards below
the tab bar. They slide in from the right and leave after a moment. In
nash.toml, color under [notification] sets the success card's icon and
title color; an empty string uses the theme accent. Failure cards keep the
theme's red regardless. The
appearance reference
covers the card behavior.
For tab selection, style under [tab.highlight] accepts top_line, tinted,
or none. Config sync removes the retired type and size keys without
translating their values. If you previously used type = 'none', set
style = 'none' or the default top line returns. Tab color swatches are also
brighter; reselect a swatch to update a tab that kept its older color. See
Tabs.
Plan the Mux Restart Before Upgrading
Mux windows now show their session name at the right of the tab bar. Fixes keep folds, resizes, rotations, and swaps in place, prevent freezes when closing panes, and show agent status immediately on attach.
These changes raise the mux protocol from 48 to 49. An older running server must
be replaced. On Unix systems, use nash mux restart. On Windows, stop
nash-mux-server manually before starting the replacement; the restart command
is Unix-only. Stopping the server closes its panes and the processes they own.
It is not a reconnect that preserves running work. Save your work and choose a
safe stopping point first. nash mux status lets you inspect the server; the
mux commands reference explains the
version check and restart.
Matrix Now Blocks Keyboard Input
While tab-wide Matrix covers a tab in 0.11.1, only its toggle shortcut works. This differs from 0.10.2, which still passed keyboard input through. Panes keep running and still receive mouse input, so the overlay remains a visual effect, not a security lock.