Skip to content

Add a Waiting for you agent state that releases sleep holds #23

Description

@ruban-24

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.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions