- Category
- Developer Tools
- Rank
- No. 1609Tools index
Previous survey · No. 1614 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- tobi
- GitHub
- 20 stars
- Date
About
Multiplexer-style tool by Tobi (Shopify CEO) for managing parallel agent or terminal sessions.
What it does
Amux gives long-running commands named, persistent workspaces organized by project. It streams initial output, then supplies exact byte positions for later reads, avoiding gaps and duplicates. Commands can receive keystrokes, expose recent logs, stay visible in a live terminal view, or be removed individually.
Why it's ranked here
The strongest idea is precise continuation after a timeout, which suits agents that cannot wait indefinitely. Dedicated terminal state avoids interfering with a user's existing setup. The package also offers human monitoring and agent-facing tools. Its narrow environment assumptions and apparent test drift make the overall case promising but qualified.
What's good
Completion markers distinguish success from a specific exit code, while interactive prompt detection catches common password and confirmation requests. Project-based grouping keeps related processes together. Panel names are validated, timeouts are capped, terminal output is sanitized, and nesting guards reject commands that would create redundant terminal multiplexers.
Tradeoffs
Amux depends on Node, Bash, and tmux rather than providing a portable process backend. Project discovery only searches the current directory and two parents for Git metadata. Panel names allow only letters, numbers, hyphens, and underscores. Every follow operation has a five-minute ceiling, so very long jobs require repeated continuation.
How to use it well
Use Amux for local development servers, test suites, build watchers, log streams, and interactive processes that an agent revisits across turns. Give panels stable task-based names, follow timeout hints exactly, and use the live view when humans need context. It does not replace CI, deployment automation, or remote job orchestration.
Technical notes+
The package is an ESM TypeScript project. package.json exposes bin/amux.ts as the CLI and src/index.ts as the library entrypoint, while ext/index.ts integrates directly with pi. src/amux.ts uses a dedicated tmux socket, SHA-256-derived project tab names, sidecar mappings, byte-addressed log reads, async child processes, ANSI sanitation, sentinels, and a 300-second timeout cap. conf/amux/bashrc emits completion markers through PROMPT_COMMAND, and conf/amux/tmux.conf defines the isolated viewing interface. test/unit.test.ts matches the displayed async implementation more closely than test/integration.test.ts, which references synchronous behavior and identifiers absent from the displayed source, indicating likely test drift. test/stress/run-all.sh adds CLI stress coverage.
Observed
- Primary language
- TypeScript, with supporting Bash configuration and stress scripts
- Packaging and install
- ESM npm package installed globally from the GitHub repository URL
- Interfaces
- Command-line tool, exported library API, pi extension, and bundled pi skill
- Runtime dependencies
- No declared direct dependencies; three optional peer dependencies support pi integration
- Process backend
- Uses tmux with a dedicated socket and configuration separate from personal tmux
- Test structure
- Repository includes unit tests, integration tests, helpers, and a shell-based stress suite
Read from README.md, package.json, src/index.ts, src/amux.ts, bin/amux.ts, ext/index.ts, test/helpers.ts, test/unit.test.ts, test/integration.test.ts, test/echo.sh, conf/amux/bashrc, conf/amux/tmux.conf, skills/amux/SKILL.md, test/stress/09-dust.sh, test/stress/run-all.sh.
What it can do
Create multiple terminal sessions
User commands → Parallel terminal instances
Switch between active sessions
Session selection commands → Active terminal session view
Manage agent processes in parallel
Agent configuration and commands → Multiple running agent instances
Split terminal interface into panes
Split commands and layout preferences → Multi-pane terminal interface
Detach and reattach to sessions
Session management commands → Persistent session state
Monitor multiple processes simultaneously
Running processes across sessions → Real-time process status and output
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
