tmux-interactive-sessions

thurstonsand's avatarfrom thurstonsand

Manage interactive terminal sessions using tmux. Use for REPLs, long-running processes, interactive CLIs, or commands needing persistent state.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 8, 2026

When & Why to Use This Skill

This Claude skill enables seamless management of interactive terminal sessions using tmux. It solves the limitation of standard command execution by supporting REPLs, long-running processes, and interactive CLI tools, ensuring environment persistence and state management across complex development workflows.

Use Cases

  • Managing interactive REPLs: Seamlessly interact with Python, Node.js, psql, or Ruby shells without losing session context.
  • Running persistent background processes: Execute and monitor long-running development servers, build commands, or file watchers.
  • Interacting with TUIs: Use interactive terminal user interfaces like htop, vim, or less directly through Claude using raw mode and pane capturing.
  • Maintaining shell state: Ensure that environment variables, directory changes (cd), and sourced scripts persist across multiple command executions.
nametmux-interactive-sessions
descriptionManage interactive terminal sessions using tmux. Use for REPLs, long-running processes, interactive CLIs, or commands needing persistent state.

tmux Interactive Sessions

Use the loaded mcp__tmux__* tools for interactive terminal work.

When to Use This

  • REPLs: python, node, irb, psql, sqlite3
  • Long-running processes: dev servers, watch commands, builds
  • Interactive CLIs: htop, vim, less
  • Persistent state: when cd, source, or export must persist

Workflow

  1. find-session first to reuse existing, else create-session
  2. list-panes to get paneId
  3. execute-command with rawMode: true for REPLs
  4. capture-pane after rawMode commands to see output
  5. kill-session when done

Key Insight

The standard execute-command wraps commands with markers to detect completion. This breaks REPLs and interactive apps. Use:

  • rawMode: true — for REPLs, interactive prompts
  • noEnter: true — for TUI navigation (sends keystrokes only)

After either, use capture-pane to see results.