Skip to content

feat: optional tmux-backed Agent Office launcher (Linux/macOS/WSL) - #6

Open
dextah wants to merge 7 commits into
mainfrom
feat/opt-in-tmux-office-launcher
Open

dextah wants to merge 7 commits into
mainfrom
feat/opt-in-tmux-office-launcher

Conversation

@dextah

@dextah dextah commented Oct 23, 2026

Copy link
Copy Markdown
Owner

Summary

Add agent-office tmux as an opt-in wrapper around the existing Agent Office CLI. Starting/rejoining a tmux session is now one command, and SSH/terminal disconnects do not close the office or its running agents.

  • agent-office tmux: create a detached tmux session if needed, then attach (or switch client if already inside tmux)
  • --detached: start without attaching / leave an existing session alone
  • --status: report whether the named tmux session exists without starting one
  • --session NAME: isolate multiple offices (also use distinct --port values)
  • Forward all ordinary office flags only when creating the session; reattach never overwrites/restarts the existing office
  • Quote command arguments safely and match existing tmux session names exactly; handle concurrent startup races
  • Clear guidance for Windows (use WSL2; native Windows keeps its existing non-tmux path)

Non-interruption guarantees / limits

  • The default agent-office command and existing worker PTY host remain unchanged.
  • tmux keeps the office process, not individual worker PTYs, running across SSH/terminal disconnects.
  • Detach with Ctrl+B, D; Ctrl+C inside Agent Office still intentionally stops its workers.
  • This does not adopt an office already running outside tmux; it only applies to the next tmux-based launch.

Checks

  • 9 isolated tmux command tests passed via Node type-stripping (local standalone test harness).
  • Full npm run typecheck, npm test, and npm run build were not run: the full repository/dependencies were not available in the execution container; CI should run them on this branch.

Files

  • src/server/tmux.ts new isolated module
  • src/server/cli.ts command dispatch
  • src/server/config.ts CLI help
  • tests/tmux.test.ts tests
  • README.md and docs/configuration.md usage/limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant