tmux Integration

tmux integration makes terminal sessions persistent. Quitting CrispyVibe detaches sessions instead of killing them. Reopening the app reattaches to existing sessions with full shell state, scrollback history, and running processes intact.

Enabling tmux integration

  1. Open App Settings → Terminal.
  2. Toggle tmux Integration on.

When enabled, a tmux configuration card appears with:

  • On quit picker — choose between Detach keep alive or Terminate
  • On tab close picker — choose between Detach or Terminate
  • Manage Sessions button — opens the Session Manager

Binary detection

CrispyVibe checks for tmux in this order:

  1. /opt/homebrew/bin/tmux
  2. /usr/local/bin/tmux
  3. /usr/bin/tmux

If no binary is found, CrispyVibe falls back to a direct shell without error.

How sessions work

  • New terminal tabs create tmux sessions with the prefix crispyvibes-
  • Server options applied: mouse on, history-limit 50000, status off, escape-time 0
  • On app relaunch, persisted tmux sessions reattach automatically — you see previous shell state, scrollback, and running processes
  • Preset commands are skipped on reattach (existing session state is preserved) but run normally for new sessions
  • Restarting a tab preserves the tmux session name

Session Manager

Open from App Settings → Terminal → tmux Integration → Manage Sessions.

Active sessions

  • Green indicator
  • Shows working directory, current command, and last-activity time

Orphaned sessions

  • Orange indicator (zero attached clients)
  • Kill button per row
  • Kill All Orphans button for bulk cleanup

Use the Refresh button to update the list. If no sessions exist, the manager displays “No tmux sessions found.”

Remote tmux

For SSH-backed projects, the session name is derived from a stable hash of ssh://user@host:port/path. Reconnecting to the same remote reattaches to the same tmux session.

tmux priming menu

The terminal commands menu includes a nested tmux submenu that exposes the session priming options as individual commands:

  • Mouse — enable mouse support
  • Scrollback — raise the history limit
  • Hidden status — hide tmux’s own status bar (CrispyVibe provides the tab UI)
  • Fast escape — set escape-time 0
  • Truecolor — enable 24-bit color
  • Best terminfo — select the richest available terminal profile

Choose Apply All to run them in one step. These are the same options CrispyVibe applies automatically when launching a session — the menu lets you (re)apply them on demand, which is handy for remote sessions or shells tmux wasn’t primed on.

VibeSpace Sessions sidebar

The sidebar shows current-VibeSpace sessions grouped by project with separate local and remote sections. Sessions not created by CrispyVibe display their real tmux name.

Session row actions

ActionEffect
PreviewTemporary spotlight view of the session
Open in ProjectAttach to the existing session
TerminateKill the tmux session

Known limitations

  • Requires tmux installed on the local machine (or remote host for SSH projects)
  • Falls back silently to a direct shell when tmux is unavailable