Skip to content

Instantly share code, notes, and snippets.

@possibilities
Created February 12, 2026 20:04
Show Gist options
  • Select an option

  • Save possibilities/ff6c40b18b8aec951cf70c3cd1e81594 to your computer and use it in GitHub Desktop.

Select an option

Save possibilities/ff6c40b18b8aec951cf70c3cd1e81594 to your computer and use it in GitHub Desktop.

ah-control: process inventory and tmux alternatives

ah-control: Process Inventory & Alternatives to tmux

Process Inventory

Window CLI Command
watchctl:watch-crashes watchctl watchctl watch-crashes --watch
watchctl:watch-project watchctl watchctl watch-project (chokidar file watcher)
telegramctl:await-callbacks-frontend telegramctl telegramctl await-callbacks-frontend --watch
telegramctl:await-callbacks-user telegramctl telegramctl await-callbacks-user --watch
vectorctl:run-daemon vectorctl vectorctl run-daemon
internalctl:monitor-browser-sessions internalctl internalctl monitor-browser-sessions --watch
internalctl:check-claude-upgrade internalctl internalctl check-claude-upgrade --watch --interval 300
internalctl:scrape-claude-changelog-analysis internalctl internalctl scrape-claude-changelog-analysis --watch
knowctl:sync-topics knowctl knowctl sync-topics --with-notifications --watch
claudectl:sync-sessions claudectl claudectl sync-sessions --watch --interval 120 --daily-report
internalctl:watch-system-prompts internalctl internalctl watch-system-prompts --watch
contentctl:sync-links contentctl contentctl sync-links --with-notifications --watch --interval 300

By CLI

CLI Count Processes
watchctl 2 watch-crashes, watch-project
internalctl 4 monitor-browser-sessions, check-claude-upgrade, scrape-claude-changelog-analysis, watch-system-prompts
vectorctl 1 run-daemon (unified embedding daemon for knowctl + claudectl)
knowctl 1 sync-topics
claudectl 1 sync-sessions
telegramctl 2 await-callbacks-frontend, await-callbacks-user
contentctl 1 sync-links

Alternatives to tmux

1. process-compose (recommended)

  • YAML config, very similar to existing teamocil YAML
  • Real TUI with process list + live log output
  • Supports dependencies, health checks, restart policies
  • Single binary, no dependencies
  • https://github.com/F1bonacc1/process-compose

Caveat: No built-in failure notifications. Health check exec probes can be wired to call internalctl send-notification as a workaround. The existing watchctl watch-crashes would need adapting to poll process-compose status instead of tmux panes.

2. Overmind (Procfile-based)

  • Single Procfile listing all processes
  • Built on tmux under the hood, color-coded interleaved output
  • overmind connect <name> to attach to one process
  • Closest drop-in replacement
  • https://github.com/DarthSim/overmind

3. launchd (macOS native)

  • One plist per process in ~/Library/LaunchAgents/
  • Survives reboots, auto-restarts on crash
  • Logs go to files, view with lnav or multitail
  • Most "proper" for macOS but verbose XML config

4. Process supervisors (immortal, s6)

  • Per-process supervision with log capture
  • Each process gets its own log directory
  • Overkill unless you want strong supervision guarantees

5. Background processes + log viewer

  • Run everything with output redirected to ~/.local/state/ah-control/<name>.log
  • Managed by a simple shell script
  • View with lnav ~/.local/state/ah-control/*.log
  • Simplest approach but no restart management
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment