What's New
Git-Aware Session Naming
Sessions created in linked worktrees are automatically named repo@branch (e.g., myapp@feature-login). Regular repos keep using the directory basename.
TUI Grouping & Filtering
- Default sort mode groups sessions by git repository with collapsible headers
- Left/right arrows or Enter to collapse/expand groups
- Filter (
/) now matches git branch and repo names - Cursor starts on the current session when opening the TUI
Ctrl+]opens the session picker from inside any app (neovim, claude, etc.)
Worktree Management (tsm wt)
| Command | Description |
|---|---|
tsm wt
| List worktrees with session status |
tsm wt <branch>
| Attach to (or create) session for a worktree |
tsm wt tui
| Open TUI filtered to current repo's sessions |
tsm wt add <branch...>
| Create git worktrees + sessions |
tsm wt rm <branch...> [-f]
| Remove worktrees and kill sessions |
tsm wt move <branch> <path>
| Move worktree, update metadata |
tsm wt prune
| Prune stale worktrees + orphaned sessions |
tsm wt --create
| Create sessions for all existing worktrees |
Auto-Create Sibling Sessions
When you create a session in a repo with worktrees, tsm automatically creates sessions for all sibling worktrees.
Session Switching Fixes
- All attach paths handle
SwitchSessionErrorconsistently - No more "Cannot attach session" errors when switching from the TUI
tsm listshows aBRANCHcolumn when git metadata is present
Full Changelog: v0.6.3...v0.7.0