Back
30/65
Lesson 30
8 min
WA: WezTerm Automata
Real-time terminal observation and automation for AI agents
Ready to level up?
Mark complete to track your learning progress.
Real-time terminal observation and automation for AI agents
Mark complete to track your learning progress.
Coordinate multiple AI coding agents running in WezTerm with real-time observation and automation.
WezTerm Automata (WA) is a terminal hypervisor that captures pane output in real-time, detects agent state transitions through pattern matching, and enables event-driven automation.
When running multiple AI agents, you need to know when they hit rate limits, complete tasks, or need approval. WA observes all panes with sub-50ms latency and can trigger automated responses.
Sub-50ms pane monitoring
Recognizes agent state changes
FTS5 with BM25 ranking
Capability gates & audit trails
WA runs as a daemon that observes all WezTerm panes, detects patterns, and exposes a Robot Mode API for agent integration.
# WA observes terminal panesAgent types: "Thinking..."↓# Pattern detection engine↓Agent completes: "Done!"↓# Event triggers automation↓WA notifies other agents via mail
Get started with these essential commands.
Robot Mode provides a JSON API for machine-to-machine communication.
# Example: Wait for agent completionwa robot wait-for 42 "Task complete"# Then trigger next actionwa robot send 43 "Start next task"
WA detects state transitions for common AI agents.
Rate limits, approvals, completions
Task completion, errors, waiting
Response completion, quota warnings
Define your own detection rules
WA integrates seamlessly with other flywheel tools.
WA automatically observes agents spawned by NTM. Use NTM to spawn agents and WA to monitor their state.
State changes detected by WA can trigger Agent Mail notifications. Coordinate agent handoffs through mail threads.
When WA detects task completion, it can update bead status. Track agent progress through your issue tracker.
Troubleshoot issues with built-in diagnostics.
wa doctor if pattern detection isn't working. It checks WezTerm connectivity and daemon status.