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, and set-tab-zen change tab state; JSON pane listings include tab color, Zen state, and active-tab status.
  • Pane highlights: gutter indicators have rounded ends and a shipped 5pt size. 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 ShiftEnterOrNewline bindings 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 CR fallback.
  • 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_alignment under [tab.highlight] chooses left, center, or right anchoring. The shipped pill length is now 50%, 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-index values still report an error.
  • Version command: nash version prints the same information as nash --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_length and grow_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.
  • 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 style in [tab.highlight]. Tab colors are brighter.
    • Config sync removes the old type and size keys. If you used type = 'none', set style = 'none'.
  • 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 restart to replace a server from an older version. This closes its panes.
  • Removed default shortcut: ALT+a is no longer bound to session autosave by default. Older commands.toml files can retain the binding; remove the keys field from toggle_session_autosave to inherit the new default.

0.10.3 - 2026-10-16 - Configuration & Visual Refinements#

  • Reorganized configuration: nash.toml uses 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.toml aside, start Nash to generate the new file, then copy your custom values into the matching new tables.
  • 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.
  • 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 defaults and 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 pi to 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 ShiftEnterOrNewline action 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 CR fallback.
  • 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-config do not report.
  • Update reminder: nash update now 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_size under [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 .bak backup. Command and task files used this model until 0.10.0 introduced built-in defaults and override layering.

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 sync merges 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 update finds 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 install sets 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].foreground available 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 update installs or updates the server independently of the application.
  • 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-status replaces Python hook adapters for Claude Code and Antigravity, with tmux passthrough support for Antigravity.
  • Bundled tools on PATH: macOS panes can run nash and 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#

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#

0.1.4 - 2026-05-10#

  • Initial release: Rust-based execution engine and a basic command palette.