Repository navigation
Major rewrite focused on managing persistent sessions on remote machines via SSH.
New Features
- SSH config parsing - automatically discovers hosts from
~/.ssh/config - Remote tmux sessions - commands persist even if SSH disconnects
sm status- dashboard showing all local and remote sessionssm sessions <host>- list tmux sessions on remote hostsm kill-remote <host> <session>- kill remote tmux sessionssm test <host>- test SSH connection and check for commands- Smart connect - session picker when multiple sessions exist
- Configurable remote command (default: bash)
Quick Start
# Install
./install.sh
# List available hosts
sm hosts
# Connect to a host
sm dev
# Detach: Ctrl+B, D
# Reconnect
sm devConfiguration
# ~/.config/session-manager/config
export SESSION_MANAGER_REMOTE_CMD="agent-deck" # or bash, htop, nvim, etc.
export SESSION_MANAGER_REMOTE_DIR="~"Architecture
Sessions run in tmux on the remote, so they persist even if SSH disconnects.
Local Machine Remote Server
┌──────────────┐ SSH ┌──────────────────────┐
│ Local tmux │ ───────── │ Remote tmux │
│ session │ │ └── your command │
└──────────────┘ └──────────────────────┘
Breaking Changes from v1.x
- Local app registry (claude, opencode, bash) commented out
- Now focused on remote session management
- Default command changed to bash (configurable)