Frequently Asked Questions

Coding agents

How do I connect my coding agent to Nash?

In a Nash pane, install the status hooks for your agent:

# Claude Code nash agent-status install claude-code # Antigravity CLI nash agent-status install agy

Run only the command for the agent you use, then restart the agent inside Nash. These commands require Nash 0.5.8 or newer and default to user-wide configuration. Add --dry-run to preview changes or --scope project to configure just the current project.

Nash then shows agent activity in its tab title and pane badge. See Connect Your Coding Agent for prerequisites, configuration paths, verification, troubleshooting, and removal.

Does Nash install the agent or replace my settings?

No. Install your agent separately. Nash merges its status hooks into the agent's existing configuration without replacing unrelated settings or hooks. It may reformat the JSON; use --dry-run first if you want to review the changes.

How do I check whether the hooks are installed?

Run nash agent-status show in the Nash pane where you launch your agent. It reports registration in both user and project configuration. Restart the agent after installation, then submit a prompt to check the indicators.

What do the status indicators mean?

A green spinner means working; an orange circle means waiting for your input. A green check-circle marks an unread completion, and a red alert-circle marks an unread failure. The pane badge identifies the worker in a split layout and shows when a turn ended.

Not every agent reports every waiting state. The setup guide explains the differences and how outcomes are acknowledged.

Can I move or resize the pane badge?

Yes. The pane_agent_status_* keys in the [pane] table of ~/.config/nash/nash.toml set its corner, size, colors, and timestamp format. Set pane_agent_status_indicator = "none" to hide the badge and keep the tab indicator. See Customize the pane badge.

Where can I see how this helps my workflow?

Read Know When Your Coding Agent Needs You for an introduction to tab and pane status, plus a quick start.

Pane navigation

How do I jump directly to another pane?

Hold Ctrl+Alt+Super (Control+Option+Command on macOS), then type the pane's number. Keep holding the chord to select another pane. Nash 0.9.4 skips folded panes and numbers only the unfolded ones. See Quick Pane Navigation.

Why does my pane-navigation shortcut still use Alt+Shift?

Alt+Shift was the original default in Nash 0.9.2. Upgrades preserve your saved chord. Set number_navigation_modifiers = "CTRL|ALT|SUPER" under [pane] in nash.toml to use the new default, or set number_navigation = false to turn number navigation off.

Why do commands and tasks change order in the palette?

Nash ranks them by recent and frequent use. When searching, stronger text matches still come first. The history stays on your machine and records no terminal content. See Command Palette.

Pane folding

How do I fold a pane in Nash?

Press SUPER+SHIFT+E (Command on macOS) to fold the active pane to a thin strip that shows its title. The program keeps running. Press SUPER+E, press Enter on a selected strip, or double-click the strip to unfold it. Folding needs Nash 0.7.0 or newer. See Pane Folding, or read Fold a Pane. Keep the Layout.

Does folding a pane stop the program in it?

No. A folded pane keeps running at the size it had, and the panes beside it take the space. Unfolding returns the pane to its place and size. See How Folding Rearranges Your Panes.

Why did SUPER+SHIFT+E not fold my pane?

Nash cannot fold the only pane in a tab, or the last unfolded pane. If a pane is maximized, the key restores the layout first. See Persistence and Limits.

Is a folded pane saved with my session?

Yes, since Nash 0.7.0. Session restore and multiplexer reconnects bring the strips back. See Session Restore.

Why does SUPER+M not minimize my window?

SUPER+M and SUPER+SHIFT+M walk the pane size ladder. Minimize Window has no default key. See Keys and Commands to bind one.

Sessions

Does Nash restore my windows after a restart?

Yes, when you ask. Nash saves every window, tab, and split when it exits, and it never reopens them by itself. After you start Nash, run Restore Saved Session from the command palette. In Nash 0.9.4, choose a save from the history; SUPER+Enter restores all its windows. Enter opens its window list, then a window's tab list, where Enter restores a single tab. Basic session restore needs Nash 0.2.0 or newer. See Session Restore.

Will a restore run my commands again?

If a pane was running a command when Nash saved, and shell integration is on, Nash types the command into the new shell and presses Enter. The restore dialog marks these panes with ▶. A command that already finished does not run again. Stop a command before you quit to avoid its restart. See Limits and Troubleshooting.

Why does the restore dialog say "No saved sessions yet"?

Nash has no saved sessions in the current configuration directory. Quit Nash from the menu once and start it again, or run Save Window Session. Start Nash with the same NASH_CONFIG_DIR or XDG_CONFIG_HOME each time, because the history lives in state/saved-sessions/ there. See Limits and Troubleshooting.

How do I keep programs running after I quit Nash?

Set enabled = true under [mux] in nash.toml and restart Nash. A background server then owns your panes. They survive closing a window, quitting, and updating. Show a session again with nash mux connect <session>. This needs Nash 0.5.6 or newer. See Multiplexer Sessions.

Updates and configuration

How do I update Nash?

Run nash update in a shell inside Nash. It finds the latest release, downloads the build for your machine, verifies it, and installs it over the running build. Use nash update --check to see if a release exists. Nash 0.6.0 or newer is required. See Updating Nash, or read Update Nash Without Leaving Your Terminal.

Will an update close my windows or lose my layout?

On macOS app bundles and Linux AppImages, nash update leaves your windows open by default. Nash saves your layout when it exits, and the session restore dialog offers it back. On those installs, nash update --restart restarts for you, but you must run it from another terminal.

Windows installer updates close running Nash processes, even without --restart. Save your work before updating. See Updating Nash and Session Restore.

Why will nash update not replace my Homebrew, apt, or Flatpak install?

Overwriting files that a package manager owns would corrupt its records. Nash detects these installs, prints the right command (for example brew upgrade --cask nash), and stops. nash update --check still tells you that a release exists. See Updating Nash.

Will an upgrade overwrite my configuration?

No. On the first launch of a new build, Nash only adds settings, tasks, and commands that your files lack. Your values, comments, and order stay as they are, and changed files get a .bak copy. Comment out a default to keep it off. See Configuration Sync.

How do I turn off the update notice?

Add check_for_updates = false to a table that custom.lua returns, in your configuration directory. The background check never installs anything. See Updating Nash.

Images

Does Nash show images in the terminal?

Yes. Nash 0.8.1 or newer supports the Kitty graphics protocol. It also accepts iTerm2 inline images and sixel. Try nash imgcat /path/to/image.png. Programs that use the Kitty protocol, such as Neovim image previews, need no setup. See Kitty Graphics Protocol and Other Image Protocols, or read Images That Behave Like Text.

Why does an image not appear?

When an image command fails, Nash does not send an error to the program. It writes the reason to its log. Press CTRL+SHIFT+L to open the debug overlay and look for a line that starts with kitty_img:. The troubleshooting guide explains each message.

Does Nash support images in Neovim and tmux?

Yes, since 0.8.1. Nash supports Unicode placeholders, which the snacks.nvim plugin uses to show images inside windows and floats. Programs also use them to place images in tmux. tmux must let the image sequences reach Nash. See Kitty Graphics Protocol.

How do I turn Kitty graphics off?

Create custom.lua in ~/.config/nash with return { enable_kitty_graphics = false }, then reload the configuration. Nash then ignores all Kitty graphics sequences, including capability queries. The setting has no key in nash.toml.

Images fail in a multiplexer session after I upgraded. Why?

Nash 0.8.1 changed the multiplexer protocol to version 48. A server that speaks an older version must be restarted. Run nash mux status to compare versions. nash mux restart closes every pane the server owns, so save your work first. See Kitty Graphics Troubleshooting.

Tabs, keyboard, and appearance

How do I turn off the cursor streak?

Set enabled = false under [cursor_wake] in ~/.config/nash/nash.toml. Do not delete the table, because the next configuration sync adds it again. See Cursor Wake.

Why does SHIFT+Enter act differently in a shell and in a full-screen program?

A shell cannot tell SHIFT+Enter from Enter, so Nash sends ESC CR, which zsh reads as a newline. A program that asks for an extended keyboard mode gets the real key. See Keyboard.

Why does Nash say "Quit disabled" when I press Cmd+Q?

The shipped nash.toml sets prevent_quit = true in the [system] table. Set it to false to let Nash quit. See Closing Panes & Zen Mode.

Does closing a pane end my tmux session?

No. When a pane closes, Nash only sends SIGHUP to a tmux client, so the client detaches. Nash never signals a tmux server that is outside the pane. The list is the persistent_process_names option. See Closing Panes & Zen Mode.

How do I change the theme or the terminal text color?

Run Themes from the command palette, or set theme under [ui] in nash.toml. A foreground value under [ui] overrides the theme's text color. See Themes & Colors.