NTM v1.12.0
Named Tmux Manager - Orchestrate AI coding agents in tmux sessions with beautiful TUI interfaces.
Quick Install
# One-liner install (Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/ntm/main/install.sh | bash
# Homebrew (macOS/Linux)
brew install dicklesworthstone/tap/ntm
# Go install
go install github.com/Dicklesworthstone/ntm/cmd/ntm@v1.12.0Shell Integration
Add to your shell rc file:
eval "$(ntm shell zsh)" # for zsh
eval "$(ntm shell bash)" # for bash
eval "$(ntm shell fish)" # for fishChangelog
Features
- 42600f4: feat(checkpoint): capture session-selected pane ID for accurate active pane restoration (@Dicklesworthstone)
- 3098900: feat(cli): improve invalid checkpoint handling, offline session resolution, and spawn prompt dispatch (@Dicklesworthstone)
- 3a76812: feat(ensemble): cross-project checkpoint resolution for resume, rerun, compare, and export (@Dicklesworthstone)
- 87c6cd9: feat(state): honor NTM_CONFIG env var for state store path resolution (@Dicklesworthstone)
Bug Fixes
- f53ce78: fix(cli): fail closed on explicit-session project resolution instead of silently falling back to CWD (@Dicklesworthstone)
- 55bfeb4: fix: repair installer release asset resolution (@Dicklesworthstone)
- 3280c79: fix: resolve robot surface session lookup and stale model metadata (@Dicklesworthstone)
- 69e0d40: fix: stabilize release gates for v1.12.0 (@Dicklesworthstone)
Others
- 5d2f01e: Centralize state store path resolution and fix checkpoint test fixtures (@Dicklesworthstone)
- 775355f: beads: update issue tracker with new task entries (@Dicklesworthstone)
- d15049d: chore(beads): bump migration-hint-ts to latest schema state (@Dicklesworthstone)
- 8504000: feat(events,robot): add Ollama agent type tracking and normalize agent type parsing (@Dicklesworthstone)
- 1dbcce9: feat(robot,ensemble,serve,tui): offline session support, error tracking, and output collection from saved files (@Dicklesworthstone)
- 3d9fd8a: fix(checkpoint,serve): handle symlink directory entries and validate session names in API (@Dicklesworthstone)
- 42bdfc4: fix(mail,transfer): correct Agent Mail project-key resolution and harden reservation-transfer rollback atomicity (@Dicklesworthstone)
- 7501292: harden(handoff): skip symlinks and fall back on malformed YAML in reader (@Dicklesworthstone)
- 4860c4d: refactor(checkpoint): harden path validation, add multi-window layout support, and improve scrollback diffing (@Dicklesworthstone)
- 58fed58: refactor(cli): add Ollama agent support, centralize config path resolution, and harden agent type handling (@Dicklesworthstone)
- eebb9a5: refactor(cli): expand agent type support across copy, profile-switch, quota, and session commands (@Dicklesworthstone)
- 9db7ee1: refactor(cli,config): consolidate path resolution to use selectedConfigDir/DefaultPath (@Dicklesworthstone)
- a2f0a7f: refactor(config): add command hooks system, strict TOML parsing, and project-aware config resolution (@Dicklesworthstone)
- 96ba462: refactor(parsing): enforce strict TOML/YAML parsing across all config subsystems (@Dicklesworthstone)
- af6fa58: refactor(robot,tmux,context,tui): extract pane-title session parser and expand attention feed and test coverage (@Dicklesworthstone)
- 0025c51: refactor(serve,state,tui): harden checkpoint API, use strict policy parsing, and fix config watching (@Dicklesworthstone)
- b8065b0: refactor(sqlite): migrate from mattn/go-sqlite3 to modernc.org/sqlite (pure Go) (@Dicklesworthstone)
- 470fb16: refactor(state,cli): unify timeline persistence path resolution with NTM_CONFIG/XDG precedence and validate checkpoint sessions via storage.List (@Dicklesworthstone)
- 060af5b: security(checkpoint): harden storage against corrupt/malformed on-disk data with fail-closed validation (@Dicklesworthstone)
- 60e68a3: security(checkpoint,cli): fail closed on corrupt/symlinked checkpoints, reject ambiguous ID prefixes in history and summary (@Dicklesworthstone)
- 98212e0: security(checkpoint,ensemble): harden checkpoint storage against path traversal, symlinks, and corrupt data (@Dicklesworthstone)
- bd11067: security(handoff): prevent path traversal and symlink attacks in writer, add modtime fallback in reader (@Dicklesworthstone)
- 1e3f17d: test(serve): add test for invalid session name rejection in list checkpoints endpoint (@Dicklesworthstone)
Full Changelog: v1.11.0...v1.12.0
Container Image: ghcr.io/dicklesworthstone/ntm:v1.12.0