selan.ai Gateway Reactor

← All posts

Blog

Reactor agents now ask you when only a person can unblock them

A remote agent stuck on a revoked key or a missing access now asks you one short question. Answer in Reactor or in Slack, and its next run carries on from where it stopped.

FeatureIn the docs: Agent questions

An agent that runs every night will sooner or later hit something it cannot fix itself. An API key gets revoked, or a bucket's permissions change. The run fails or ends with a warning, the next night's run fails the same way, and you find out whenever you next look at the canvas.

Then you read through the run's transcript to work out what it needed, fix it, and start the agent again from nothing. Whatever it had worked out before it got stuck is lost, and so are the nights in between.

Reactor's remote agents can now ask a person. An agent blocked on something only a person can do, such as a credential, a sign-in, an access or a setting, files one question and ends its run. You answer, and the agent carries on in the same Claude Code session, from where it stopped.

The Reactor head with its 4 need you pill open. Under Asking you, tax-report asked 26 minutes ago to have the tax portal's new API key added as TAX_API_KEY, and ledger-close asked 2 hours ago for read access to a bucket, with three screenshots under its Details. Each question has a Reply box, a Resume button and a Drop button
Two agents asking, newest first. The agents and their questions are test fixtures.

What the agent sends

Every run has an ask_user tool next to the one it reports its status with. The question is short, at most two sentences and 300 characters. The details, up to 2,000 characters, say what failed, what the agent tried and what it did in the meantime. It can attach up to six images from its working directory, PNG, JPEG, WebP or GIF of up to 5 MB each, such as a screenshot of the error it got.

The agent is told not to bother you. It asks only when it is truly blocked, and it never asks you for a decision or an approval: it makes those itself. A run asks once, and an agent has at most one question open at a time.

Where you see it

The question appears as the asking run ends. The Need you pill at the top of the workspace counts it, and its popover lists questions first, newest first, under Asking you. Each one shows the agent, when it asked and its question. Details opens the rest, and a thumbnail opens its image whole in a new tab.

On the canvas the agent's card shows the question and reads Waiting for you. When you are looking at another workspace, the tab of a workspace with an agent asking has an amber dot.

Two agent cards on the canvas. tax-report shows its question about TAX_API_KEY and ledger-close its question about the bucket, each cut short, and both read Waiting for you, 26 minutes and 2 hours ago
An asking agent's card shows its question until you answer.

Everyone who can read the workspace sees its questions. Owners and editors of the workspace answer them.

Answer it

Type a reply and press Resume. If there is nothing to say, leave the box empty and the agent hears just that you are done. Reactor starts a new run of the agent that resumes the asking run's session, with your reply and who sent it. The agent picks up its own reasoning where it left off instead of starting from a blank prompt. The new run is on a new machine, so anything the agent had not committed or pushed before it asked is gone, and the agent is told so. Starting the run can take a few minutes.

ledger-close's question with its details open: the nightly close got 403 Forbidden reading the October exports as its service account, the September path answered the same, and it closed September from cached statements and left October open. Three screenshots follow, then the reply Done: it can read the bucket now, beside Resume and Drop
Answering ledger-close: its details say what failed and what it did meanwhile.

The session is kept for 14 days. An answer after that still starts the agent, fresh, with the question and your answer in its message.

Drop closes a question without an answer. The agent is not resumed and is not told, and it may ask again from a later run. Once a question has been answered or dropped, a second answer is turned away, so two people cannot both resume it.

Or answer in Slack

Through Selan's Slack app, the question also arrives as a direct message to the person who made the agent. The message has the agent's name, its question, how many images it attached and a link to its workspace. Reply in that message's thread and your reply is the answer; Selan replies in the thread with a link to the new run. If someone answers in Reactor first, the message is edited to say who did.

Or ask Claude

Questions are in Selan MCP as well. selan_remote_workspaces_list says how many questions each workspace has open, selan_remote_questions_open lists them, and selan_remote_question_answer and selan_remote_question_drop settle them. So in Claude Code you can ask:

What are my agents waiting on?

The docs cover who may answer, what is kept and for how long.

How it works today. A post says what changed on its day; the docs say how Selan works now.

Agent questions