Skip to content
overterm
Documentation

Agent Inbox

Every agent waiting on you in one column, with its question and its own choices as buttons.

The marks in the tab strip say which tab wants you. Answering still means going to each one, reading the question and typing a number. The Agent Inbox is that step done in one place: a column to the right of the terminal listing everything waiting, with each agent’s question, the diff or command it is about, and its own choices as buttons.

⌘I opens and closes it. View ▸ Agent Inbox does the same.

What is in the list

A tab reaches the inbox when its mark says it needs something — the same rule the strip, the Dock badge and ⌥⌘↓ use. The inbox is the attention list, not a scraper looking for prompts. See Tabs and attention.

The order is blocked first, then failed, then finished, and tab order inside each — the order you want to deal with them in. The header counts them: “2 waiting · 1 failed”, or “Nothing waiting”.

How the question is read

For a waiting tab, Overterm reads that pane’s visible text and looks for the shape both agents use: a sentence, then numbered choices, one of them marked.

  • Only the last run of numbered lines counts. Earlier ones are output that happens to be a list; the question is always the newest thing on screen.
  • A line counts as a choice when it matches a number and a label — ❯ 1. Yes, 2) No — with the ❯, > or * marker optional. The marked one is the default, which ↩ would take.
  • One choice is a list, not a question: two or more are needed.
  • The question is the first non-blank line above the choices.
  • The preview is the block above that, up to eight lines — the diff or the command being asked about. Added and removed lines are tinted so a diff reads as one.

The card’s title is the tab’s name plus a trimmed form of the question, so “Do you want to make this edit?” reads as “tab wants to make this edit”.

The buttons

Three buttons at most, and each one types a number Overterm actually read off that pane:

Button Which choice
the default, filled, with ↩ the marked choice, else the first
the “don’t ask again” one found by its words — a label containing “don’t ask again”
Deny ⌫ the last choice whose label begins with “no”

Open tab is always there and selects the tab.

Deny and “always allow” are found by their wording, never by their position in the list. Pressing a button types that choice’s key and Return into that pane — the same keystrokes you would have typed.

When the question cannot be parsed

The entry becomes a line with Open tab and nothing else. There are no buttons and no guesses.

This is deliberate and it is the one mistake the inbox must not make: typing a number at an agent that was asking something different. A tab marked done or failed is also shown as a line rather than a card — a finished agent may well have a prompt on screen, but it is nobody’s question.

What it costs while open

Reading a question means reading the screen, so the inbox polls — every 1.5 seconds, and only while it is open. Closed, it costs nothing.

Keyboard

J and K move the highlight, wrapping. The panel takes the keyboard when you click into it, and not before: the inbox is a column you leave open, and one that grabbed focus whenever it appeared would stop you typing in the terminal beside it. ⌘I closes it.

Outside the window

While anything is waiting, Overterm puts an item in the menu bar with the same summary, so you can see and reach the list without bringing the window forward. It goes away when nothing is waiting.

The Dock badge counts the same tabs, if notifications.dockBadge is on. See Settings.

The column it shares

The inbox is a column of its own, to the right of the terminal and before the right-hand pane. Opening it does not displace the changes pane; the browser and the right-hand pane are the two that take turns. See Panes and Tab Peek.