Skip to content

feat(agent-inbox): add popup queue of agents that need you - #6

Merged
JacobAtchley merged 1 commit into
mainfrom
feat/agent-inbox
Oct 7, 2026
Merged

JacobAtchley merged 1 commit into
mainfrom
feat/agent-inbox

Conversation

@JacobAtchley

Copy link
Copy Markdown
Owner

Summary

New jacob.agent-inbox plugin: a popup listing agents that need you, with quick replies so you can work through them without switching panes.

  • Blocked agents come first, then done ones. Within each group, the agent whose state changed longest ago is on top. Working agents are listed underneath.
  • Each blocked or done agent shows one line of context: the blocked agent's question, or the first line of the done agent's last message. If neither is found in the pane, the session title is shown.
  • Keys:
    • enter jumps to the agent.
    • On a blocked agent, y presses Enter (the dialog's highlighted "yes") and n presses Escape.
    • On a done agent, c sends "continue" and r opens a reply prompt.
  • After a quick reply, the agent stays hidden until herdr reports a new state for it.
  • The list refreshes every second while the popup is open.
  • herdr-client: Agent gains state_change_seq and title (terminal_title_stripped), both optional.

herdr does not report when a state started, so rows show no wait time. The order comes from the state change counter.

Test plan

  • just ci (fmt, clippy with warnings denied, all workspace tests)
  • Unit tests: ordering, location labels, preview extraction, key handling, reply mode, hiding answered agents, rendering and scrolling
  • enter/esc key names accepted by herdr's send_keys
  • Opened from a keybinding in herdr and used against live agents

🤖 Generated with Claude Code

https://claude.ai/code/session_015nTj3MJJCLb6JoXjRYeoxq

List blocked agents, then done ones, oldest state change first, with
working agents underneath. Each row shows the blocked agent's question
or the done agent's last message, falling back to the session title.
Quick replies answer from the popup: y/n press Enter/Escape on a
blocked dialog, c sends "continue" and r sends a typed reply to a done
agent. The list refreshes every second.

Agent model gains state_change_seq and the stripped terminal title.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015nTj3MJJCLb6JoXjRYeoxq
@JacobAtchley
JacobAtchley merged commit b8c5107 into main Oct 7, 2026
2 checks passed
@JacobAtchley
JacobAtchley deleted the feat/agent-inbox branch October 7, 2026 03:46
@enesccinar

Copy link
Copy Markdown
Contributor

🚀

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.

2 participants