Problem
Agent sessions can stop doing work while waiting for a question or permission response. OpenCode currently becomes Idle for this state, while Claude Code and Codex remain Working. The inconsistent behavior can present an inaccurate status and keep the Mac awake indefinitely while no agent work is happening.
This is a follow-up enhancement and is not a blocker for v0.7.0.
Proposed enhancement
Add an explicit Waiting for you session state driven only by supported lifecycle signals.
- Working means the agent is actively processing and Let It Brew holds the Mac awake.
- Waiting for you means the agent is blocked on user input. Keep the session visible, but release its system and display sleep holds.
- Idle means no active work or pending interaction is being presented.
- When an explicit reply, approval, or resumed-work event arrives, transition from Waiting for you back to Working and reacquire the appropriate hold.
- Do not infer waiting state from prompt text, transcripts, process activity, or CPU usage.
Acceptance criteria
- The menu shows Waiting for you distinctly from Working and Idle.
- A session in Waiting for you contributes no keep-awake assertion.
- Questions and permission prompts use the waiting state where the agent integration provides reliable wait and resume signals.
- Reply, approval, rejection, cancellation, stop, and session-end transitions are deterministic and covered per supported agent.
- Multiple sessions are reduced independently: a waiting session releases only its own contribution, while another Working session continues holding the Mac awake.
- Claude Code, Codex, OpenCode, and GitHub Copilot CLI behavior is documented and tested without assuming unsupported event parity.
- Active-time presentation does not count time spent waiting for user input.
- Automated reducer tests and attended multi-agent lifecycle UAT cover the new state.
Problem
Agent sessions can stop doing work while waiting for a question or permission response. OpenCode currently becomes Idle for this state, while Claude Code and Codex remain Working. The inconsistent behavior can present an inaccurate status and keep the Mac awake indefinitely while no agent work is happening.
This is a follow-up enhancement and is not a blocker for v0.7.0.
Proposed enhancement
Add an explicit Waiting for you session state driven only by supported lifecycle signals.
Acceptance criteria