Changelog
Notable changes in the release history:
0.11.9 - 2026-10-25 - Shared Mux Tabs#
- Shared mux tab state: tab order, colors, tab-scoped Zen Mode, and active panes stay in sync across attached clients and survive reconnects while the server runs.
- Move and reopen mux tabs:
move a tab into a new window without restarting its programs. Explicitly
closed tabs can reopen in an attached, spawnable mux domain.
- Reopening starts new processes and can rerun recorded commands; it does not recover the old processes or scrollback.
- Server-aware pane behavior: titles, close checks, prompt navigation, and mouse-wheel handling use server-side process and terminal state. Bidirectional traffic no longer waits behind a blocked write.
- Mux-aware session saves: GUI saves omit fully detachable mux windows and keep restorable local content from mixed layouts. Reconnect to the server for still-running panes.
- Tab CLI commands:
move-tab,set-tab-color, andset-tab-zenchange tab state; JSON pane listings include tab color, Zen state, and active-tab status. - Pane highlights:
gutter indicators have rounded ends and a shipped
5ptsize. Matrix hides pane highlights and flashes; Matrix Rain leaves them visible.- Existing explicit appearance settings stay unchanged.
- Mux restart required: protocol 51. See the upgrade instructions before restarting; all server panes close.
0.11.5 - 2026-10-23 - Mux Keyboard & Tab Refinements#
- Extended keys in mux panes:
mux panes report their keyboard modes so programs receive modified keys and
key releases correctly. Direct
ShiftEnterOrNewlinebindings can send native Shift+Enter, with legacy shell fallback.- Kitty keyboard encoding remains opt-in on both GUI and server. Tmux
control-mode panes still use the
ESC CRfallback.
- Kitty keyboard encoding remains opt-in on both GUI and server. Tmux
control-mode panes still use the
- Predictable tab colors: only tabs opened immediately after the active tab inherit its custom color; tabs appended at the end, including the new-tab button, do not.
- Aligned tab pills:
pill_alignmentunder[tab.highlight]chooses left, center, or right anchoring. The shipped pill length is now50%, centered by default.- New configurations use a gutter pane highlight instead of a box; existing explicit settings are preserved.
- Tab-number shortcuts:
numbers past the last tab select the right-most tab. Positive out-of-range
nash cli activate-tab --tab-indexvalues still report an error. - Version command:
nash versionprints the same information asnash --version. The bundled placeholder List Files task and its shortcut are removed. - Mux restart required: protocol 50. See the upgrade instructions before restarting; all server panes close.
0.11.4 - 2026-10-22 - Reopen Tabs & Smoother Switching#
- Reopen closed tabs:
SUPER+Shift+T (Cmd+Shift+T on macOS) restores the last closed tab's
position, name, color, split layout, and working directories.
- Reopened panes start new processes, not the old ones. Commands that were running can run again; scrollback is not restored.
- New tab shortcuts:
SUPER+T and Ctrl+Shift+T open a tab immediately to the right;
SUPER+Y and Ctrl+Shift+Y open one at the end.
- SUPER+Shift+T now reopens a closed tab instead of opening a new one. Existing shortcut overrides can retain the old behavior.
- Tab colors and highlights:
new GUI tabs inherit the active tab's custom color. Inactive colored tabs show
a top-edge pill that grows into a full line when selected, with adjustable
pill_lengthandgrow_duration_ms. - Folded-pane agent status: folded strips show working, waiting, completed, and failed icons in place of the fold glyph. In focused windows, busy icons keep animating even with the tab bar hidden.
- Reliable rapid switching: fixes focus bouncing between tabs and high CPU usage when switching quickly, including tabs backed by a mux server.
- Clearer update notices: banners name both the available release and the running GUI version. Successful checks with no newer release clear saved notices for future panes.
0.11.1 - 2026-10-19 - Notification Cards & Tab Styles#
- Hook-free Claude Code status:
Claude Code 2.1.295 or newer reports its own status, including interrupts and
subagents, in local and mux panes.
- Remove hooks left by older versions with
nash agent-status uninstall claude-code.
- Remove hooks left by older versions with
- Notification cards:
confirmations such as config reloads and copies slide in below the tab bar.
Set their color in
[notification]. - Tab highlight styles:
choose a top line, tinted tabs, or none with
stylein[tab.highlight]. Tab colors are brighter.- Config sync removes the old
typeandsizekeys. If you usedtype = 'none', setstyle = 'none'.
- Config sync removes the old
- Mux session badge: windows backed by a mux server show the session name at the right end of the tab bar.
- Matrix keyboard lock: while Matrix covers a tab, only its toggle shortcut works. Panes keep running and still receive mouse input.
- Smarter column split: SUPER+I completes a row of two or three side-by-side panes and restores the 30–40–30 widths.
- Mux and pane fixes: folds, resizes, rotations, and swaps stay in place in
mux tabs; closing panes no longer freezes Nash; agent status appears at once
on attach.
- Restart required: run
nash mux restartto replace a server from an older version. This closes its panes.
- Restart required: run
- Removed default shortcut:
ALT+a is no longer bound to session autosave by default. Older
commands.tomlfiles can retain the binding; remove thekeysfield fromtoggle_session_autosaveto inherit the new default.
0.10.3 - 2026-10-16 - Configuration & Visual Refinements#
- Reorganized configuration:
nash.tomluses smaller, focused tables such as[pane.highlight],[pane.numbers],[agent.status],[agent.alerts], and[cursor.wake], with shorter key names.- Migration required: old keys are no longer read. Move your
nash.tomlaside, start Nash to generate the new file, then copy your custom values into the matching new tables.
- Migration required: old keys are no longer read. Move your
- Refined Matrix fades: terminal characters turn into green glyphs before
the running code takes over. On exit, text returns from the top down as the
runners leave and the background fades back.
- Set the fade out effect's
duration_ms = ""to let runners finish naturally instead of fitting the exit to a fixed duration.
- Set the fade out effect's
- Adjustable pane-highlight wake width: set the trailing wake's thickness
independently of the permanent indicator. The default is
2pt; zero hides it.
0.10.2 - 2026-10-15 - Matrix Mode#
- Tab-wide Matrix mode: dense green code, shifting highlights, and layered
trails cover all existing panes in the active tab. Run Toggle Matrix from
the command palette or View menu, or press SUPER+Alt+Ctrl+Shift+M
(Cmd+Option+Control+Shift+M on macOS).
- Toggle again to reveal current terminal output. Other tabs are unaffected; new panes are not automatically covered.
- Matrix rain: Toggle Matrix Rain covers only the active pane with
falling code. Available from the command palette and View menu, with no
default shortcut.
- Both modes are visual effects, not security locks: panes keep running and receive input while covered.
- Customizable effects: independent
[matrix]and[matrix_rain]settings control color, speed, glyph size, density, trails, and optional glow and login-name intro. Choose takeover/decode, morph, or fade entry and exit effects, with adjustable timing. Matrix uses fades by default.
0.10.1 - 2026-10-13 - Custom-Width Pane Splits#
- Custom-width pane splits:
choose column proportions in TOML or Lua. The default three-column split now
uses SUPER+I (Cmd+I on macOS) and a 30–40–30 layout.
- Omit weights for equal widths. Existing shortcut and layout overrides stay unchanged on upgrade.
- Smoother pane highlights: choose morph, crossfade, trailing wake, or no animation, with adjustable timing. Highlights retarget smoothly during rapid switches; focus moves immediately.
- Simpler customization:
commands, shortcuts, and tasks are built in; TOML overrides change only the
fields you set. Inspect defaults with
nash config defaults <file>.- Older full config files still work; remove unchanged entries to inherit newer defaults.
- Accurate shortcut labels: the command palette and menus show effective shortcuts, including custom bindings.
- Updated shell completions for
nash config defaultsand Pi agent-status commands.
0.9.6 - 2026-10-10 - Agent Sounds & Pane Flashes#
- Agent alert sounds: distinct sounds signal completion, failure, or requests for input in unwatched panes. Enabled by default, with adjustable sounds, volume, and watched-pane alerts.
- Pi agent status: run
nash agent-status install pito show working, waiting, and failed states, then restart Pi or run/reload.- Installation disables Pi's own Terminal progress to avoid conflicts. Reinstall after Nash updates to refresh the extension.
- Pane flashes: a
glow highlights the latest visible agent result when returning to Nash or
switching tabs, falling back to the active pane. A quieter glow marks pane
switches.
- Both are enabled by default, with independent appearance and disable controls.
- Adjustable pane-label size: selection labels and navigation numbers share a configurable 36-point default; numbers shrink to fit small panes.
- Config sync fix: summaries now count settings inside nested tables correctly.
0.9.4 - 2026-10-07 - Session History & Smarter Navigation#
- Saved-session history:
Nash keeps the 50 newest saves instead of overwriting earlier layouts, without
duplicating repeated saves of the same layout.
- Browse saves newest first, then their windows and tabs. SUPER+Enter (Cmd+Enter on macOS) restores a whole save or a selected window; Enter on a tab restores it into the current window.
- Command palette ranking: commands and tasks now use frequency and recency to break ties between equally strong text matches. Usage history stays local and survives renaming.
- Pane-navigation improvements:
the default quick-switch chord is now Ctrl+Alt+Super
(Control+Option+Command on macOS).
- Numbering skips folded panes without gaps. The active pane's badge hides when multiple panes are unfolded, and badges track focus changes.
- Pane labels now use the theme accent on a transparent background, with customizable colors.
0.9.2 - 2026-10-05 - Quick Pane Navigation#
- Focus panes by number:
hold Alt+Shift (Option+Shift on macOS) to show numbered badges, then type
a number to select a pane. Enabled by default, with a customizable modifier
chord.
- Numbers follow the pane layout and stay fixed while you hold the modifiers. Supports more than nine panes; press Enter to confirm ambiguous numbers, or Escape to dismiss.
- Folded panes can be selected without unfolding, and zoomed panes stay zoomed.
- Input handling: navigation keystrokes stay out of the terminal, including held-key repeats and releases across focus changes. Committed IME text reaches its intended recipient without triggering navigation or falling through a modal.
0.9.1 - 2026-10-04 - Animated Cursor Trails#
- Cursor Wake: an elastic
streak follows cursor jumps without delaying typing or the real cursor.
Enabled by default, with adjustable timing, color, opacity, and an opt-out.
- Supports block, bar, and underline cursors with OpenGL and WebGPU. Resets on layout changes and stops animating in unfocused windows.
- Configuration sync fix: commented-out settings stay in their original TOML table when defaults are added, including repeated syncs and nested tables.
0.9.0 - 2026-10-03 - Tab Dragging#
- Drag to reorder tabs: tabs follow the pointer while neighboring tabs make room. Reordering stays within one window; drag empty tab-bar space to move the window on macOS.
- Native Shift+Enter:
the new
ShiftEnterOrNewlineaction sends Shift+Enter to programs that request it, while shells still receive multiline input.- Native handling requires a direct key binding in a direct PTY pane; mux
clients and tmux control-mode panes retain the
ESC CRfallback.
- Native handling requires a direct key binding in a direct PTY pane; mux
clients and tmux control-mode panes retain the
- Updated tab shortcuts: SUPER+9 (Cmd+9 on macOS) selects tab nine; SUPER+0 selects the last tab. Ctrl+Shift+9/0 follow the same behavior. Ctrl+0 still resets font size.
- Keyboard and focus fixes: resetting Kitty keyboard flags to zero restores legacy encoding. Moving tabs or opening task tabs no longer sends false focus-out events.
- Opt-out usage telemetry: official
releases report a random installation ID, version, platform, and
timestamp—never terminal content.
- Disable with
nash telemetry off, TOML settings, or environment variables. Ordinary source builds, debug/test builds, and--skip-configdo not report.
- Disable with
- Update reminder:
nash updatenow explains session saving and restoration after restart.
0.8.1 - 2026-09-28 - Kitty Graphics & Performance Improvements#
- Improved Kitty graphics:
adds Unicode placeholders and capability queries, with corrected layering,
placement deletion, pixel offsets, sizing, and aspect ratios.
- Images stay aligned through reflow, scrolling, and wide-character edits. Mux protocol version 48 requires restarting older multiplexer servers.
- More reliable session saving: layouts survive macOS quit, Windows logout, and closing windows one at a time. The restore picker is also improved.
- Enter unfolds panes: Enter unfolds the selected folded pane; ordinary panes receive it as usual.
- Agent badge improvements: size icons independently of timestamps; badges hide when they do not fit. Spinners keep animating while Nash is in the background.
- More resilient task imports: broken VS Code files no longer replace Nash tasks; unsupported tasks are skipped individually. On macOS/Linux, kept tasks stay open after a failing step.
- Update and CLI polish: macOS quarantine is cleared only after verification. Help wraps to terminal width, and Bash, Zsh, and Fish completions cover config, update, mux, and agent-status commands.
- Performance and fixes: faster tab-bar, status, and palette redraws; autosave survives config reloads; synced zoomed mux tabs close correctly.
0.7.4 - 2026-09-13#
- More pane-size shortcuts: SUPER+M and SUPER+Shift+M now follow the same folded → normal → maximized ladder as SUPER+E and SUPER+Shift+E.
- Background tab spinners keep animating while Nash is unfocused.
- Adjustable tab-title size:
set
tab_font_sizeunder[tab]to customize title text.
0.7.3 - 2026-09-05#
- Pre-split tabs: SUPER+Shift+Y opens two equal columns; SUPER+Shift+U opens three. Also available in the palette and Shell menu, with the current working directory and focus on the leftmost pane.
- Configuration sync on upgrade:
the first launch after updating merges new defaults into existing TOML files.
- Preserves explicit values, comments, formatting, and commented-out
settings; changed files get a
.bakbackup. Command and task files used this model until 0.10.0 introduced built-in defaults and override layering.
- Preserves explicit values, comments, formatting, and commented-out
settings; changed files get a
0.7.0 - 2026-09-04 - Folding Panes#
- Fold panes to strips:
collapse a pane to its title and restore its original size. SUPER+E and
SUPER+Shift+E move through folded → normal → maximized in either
direction.
- Click a strip to select it; double-click to unfold. Folding the active pane transfers focus to a nearby unfolded pane without resizing its program.
- Fold state survives session restore and mux reconnects, with CLI controls and configurable strip thickness, fonts, and colors.
- Persistent tab names: renamed tabs keep their names after restart and restore.
- Manual configuration sync:
nash config syncmerges bundled defaults, with dry runs, all-file sync, backups, and support for symlinked dotfiles. - Standalone mux server: the server now runs from its own support directory, allowing application updates without stopping it.
- Documentation refresh: corrected Lua defaults, task syntax, server install guidance, and site navigation.
0.6.0 - 2026-08-29#
- Built-in updates:
nash updatefinds the matching release, verifies it, and installs it.- Supports update checks, dry runs, unattended confirmation, and restart, with saved layouts available through session restore.
- Verifies SHA-256 and macOS signing; signed installs require the same Developer ID team. Package-manager installs defer to their manager.
0.5.8 - 2026-08-28#
- Agent status inside panes: corner badges identify which split is working. Finished or failed turns show a timestamp until you type, with configurable placement, size, and colors.
- Automatic hook installation:
nash agent-status installsets up Claude Code and Antigravity hooks without replacing unrelated settings.- Supports project scope, individual agents, dry runs, uninstall, and status inspection.
- Agent-state fixes: usage limits and input requests show attention rather than idle. Compaction no longer clears active work; Stop and interruption events no longer leave stale spinners.
0.5.7 - 2026-08-25#
- Matrix Green theme: a phosphor-CRT theme joins the bundled theme picker.
- Theme foreground colors:
themes can now set terminal text color, with
[ui].foregroundavailable as a user override. - Session-update fix: saved layouts now live outside the application bundle, so updates no longer discard them or leave the restore dialog empty.
0.5.6 - 2026-08-24#
- Multiplexer sessions: an optional
headless server keeps panes running across window closure, quit, and
application updates. Enable it under
[mux]; it is off by default.- Switch, create, and rename sessions from the palette.
nash mux updateinstalls or updates the server independently of the application.
- Switch, create, and rename sessions from the palette.
- Pane zoom and cues: SUPER+E zooms a pane, with a hidden-pane count and corner marker. Both indicators are configurable.
- Agent-state improvements: waiting for input shows an orange attention circle. Interrupted turns and mux clients no longer retain stale progress.
0.5.3 - 2026-08-20#
- Native agent-status command:
nash agent-statusreplaces Python hook adapters for Claude Code and Antigravity, with tmux passthrough support for Antigravity. - Bundled tools on PATH:
macOS panes can run
nashand bundled tools without shell-profile changes. Separately installed copies retain priority. - Agent-state fixes: progress clears when the foreground process exits, preventing crashed agents from leaving spinners. Claude Code notifications request attention only when blocked on input, preserving unread outcomes.
0.5.0 - 2026-08-17#
- Coding-agent status in tabs:
tab titles aggregate activity from every pane, including inactive, zoomed, and
obscured panes, using OSC 9;4 progress reports.
- Completion and failure have distinct glyphs. Unread outcomes remain until you select or type in the pane. A Claude Code hook adapter is bundled.
0.4.0 - 2026-08-15#
- Detach tabs: Move Tab to New Window gives a tab its own window.
- Proportional pane resizing: split proportions are preserved across display-density changes, alongside pane-highlight fixes.
- Adjustable line height
is now available in
nash.toml. - New task target:
new_tab_after_currentopens a task immediately after the active tab. - About dialog added.
0.3.0 - 2026-08-03#
- Search all tabs: SUPER+Shift+A opens fuzzy search across windows and workspaces.
- Native tab styling and titles: tab colors handle active, inactive, and hover states without Lua, with contrast-aware text. Smart titles show the folder and process, with configurable ignored processes.
- Safer pane cleanup: closed panes get 300 ms to exit before forced cleanup, letting shells save history. Persistent processes such as tmux and screen can be kept alive.
- Command palette rework: the palette and pickers share a list implementation; commands no longer immediately dismiss the modals they open.
- Window focus fixes: focusing raises windows on macOS and X11; custom tab colors respect inactive backgrounds.
0.2.0 - 2026-07-23#
- Session save and restore:
safely preserves windows, tabs, split layouts, geometry, working directories,
and command state across restarts.
- Browse saved windows and tabs in a restore dialog, restoring a whole window or one tab with its appearance, Zen state, and active selections. Session-save feedback now uses in-app notifications.
- Runtime Zen Mode: persists with sessions and can apply globally or per tab.
- Tab-management improvements: Cmd+Shift+T opens beside the current tab. Renaming uses an editable dialog and preserves tab-number prefixes; titles scale with terminal font size.
- Pane-management commands: rotate layouts or move the active pane to a new tab or window, with streamlined directional navigation defaults.
- Reload and close feedback: config reloads show in-app confirmation; repeating a close command confirms the open prompt.
- Stability and platform fixes: improved Windows IME and process handling, Wayland clipboard/scaling/drag-and-drop, and tmux Unicode input. Fixed Kitty key encoding, image crashes, and search hangs; QuickSelect hides nonmatches.
- Shell integration documentation:
added command-tracking guidance for
NASH_PROG.
0.1.6 - 2026-05-13#
- Project-local tasks:
define tasks in
.nash.tomlfiles. - Automatic VS Code task imports:
Nash detects
.vscode/tasks.jsonin your project. - Command palette polish: improved sizing and layout.
0.1.4 - 2026-05-10#
- Initial release: Rust-based execution engine and a basic command palette.