Remote console
Read an agent session as a conversation, reply to it, use its slash commands, answer permission asks, see what it changed and open the pull request, from the browser or your phone.
Added in v0.212.0 The remote console is the page of a live agent session that lets you work with the agent instead of only watching it. It shows the session as a conversation, keeps a message field and the open asks pinned at the bottom, completes the agent tool's slash commands, and shows the change the agent made to its checkout with a button that opens the pull request. It works the same in the browser and on your phone.
Open it
Open Admin -> Agents -> Live and click a session, or open /live on your
orboto address (on a phone, the same list full screen). A session opens on the
Conversation tab. Who may see a session, who may steer it and how to share
one is on Watch and steer live agent sessions.
The conversation
The conversation reads like the agent tool's own window:
- What you or an operator typed is a bubble.
- What the agent answers is formatted text: lists, code blocks and links work,
ticket keys such as
ACME-12and[[doc:KEY]]links open the ticket or document you may see, and each message has a Copy button. - The tool calls between two messages fold into one line, for example Read 2 files, ran 5 shell commands with the time they took. Click it to see each call and the arguments it ran with. A group that is still running shows the count so far.
- A line marks the end of every turn with how long it took and which model answered at which effort. The model and effort also show in the badges above the conversation.
- Older messages load when you scroll up.
- The footer shows the plan's usage windows with the time they reset, and how full the agent's context window is. A window or a context figure the agent tool does not report is not shown, and orboto never estimates one.
Anything that looks like a secret is replaced with [secret] before it is
stored, as on every live session (see
What stays hidden).
Reply to the agent
The message field sits under the conversation and stays in view while the conversation scrolls. Enter sends, Shift+Enter adds a line. The line reaches the agent tool as if you had typed it into its terminal and pressed Enter, so it works for a normal message and for a slash command. Pasted text with several lines arrives as one paste.
Sending takes or renews your takeover of the session, so two people never type into the same session at once. The field is disabled, with the reason next to it, when you may only watch, when someone else holds the takeover, when the session has ended and when the runner on the machine is away. The line under the field shows a message's delivery: Waiting for the runner, Delivered or Refused by the runner.
Slash commands
Type / in the message field and the commands of the session's agent tool
appear. Names that start with what you typed come first, then names that
contain it. Arrow keys move through the list, Tab or Enter inserts the command
and a space, a tap does the same on a phone, and Escape closes the list.
The list holds:
- the agent tool's built-in commands, each with its short description;
- for Claude Code, your skills and custom commands, and those of the project the session works in, with their description and argument hint;
- for a Claude Code session that reports its own list, every command it names, plugin commands included.
The built-in commands are the ones of the agent tool's command reference at the
time of the release; a newer command of a later agent tool version does not
appear in the list until orboto adds it, but typing it by hand still works. A
session whose runner does not report a list shows no completion, and a typed
/command still reaches the agent tool.
Answer permission asks
When the agent asks for approval to run a tool, or asks a question, the ask appears as a card above the message field and stays there until you answer it, the agent withdraws it or it is resolved in the terminal. Its line also stays in the conversation at the place it was asked.
For a tool approval the card offers Allow once, Allow always and Deny, as the agent tool words them. While an ask is open, the footer shows Waiting for your answer, or the number of open asks; someone who may only watch sees Waiting for an operator's answer. On a phone you also get a push notification when a session you may steer asks; see Notifications when an agent asks.
Answering needs no takeover of your own, only that nobody else holds one. If someone answered first, the card refreshes and shows what is still open.
See what changed and open the pull request
Under the last turn, the conversation shows a chip with the change in the
session's checkout, for example +18 -3, 4 files. Click it to see every file
with the lines added and removed. The figures cover the branch against the
branch it was created from (else the remote's default branch, else main or
master), committed and uncommitted changes of tracked files; new files that are not tracked yet are not
counted. The chip updates after every turn and whenever the branch, its base or its
upstream changes.
If the checkout is a branch of a repository your project has connected, the chip offers Create pull request. orboto finds the connection by the host and the repository path of the branch's remote, and opens the pull request through the connection's own token for GitHub, GitHub Enterprise, GitLab, Gitea, Forgejo, Bitbucket Cloud, Bitbucket Server and Azure DevOps. A connection that only polls over SSH has no API to open one with.
- The pull request goes from the session's branch to the base branch and is opened ready for review, never as a draft.
- Its title is the ticket key and the ticket title,
ACME-12: Deploy previews, taken from the session's ticket or from a key in the branch name (acme-12-deploy-previewnamesACME-12); without a ticket it is the branch name. Its text is the agent's last answer, with secrets masked. - It is linked to the ticket, so it shows on the ticket's Git tab and follows the pull request's later state.
- You need to be allowed to steer the session and to edit the project.
When the branch already has an open pull request, the chip links to it instead. When no pull request is possible, the chip says why: the repository is not connected to the project, the branch has no upstream yet, the branch is the base branch, the connection is read-only, or the provider did not answer. A directory that is not a git repository shows No repository, a detached HEAD shows Detached HEAD, and neither offers a pull request.
Terminal and Transcript tabs
Next to Conversation there are up to two more tabs.
- Terminal is there when the session runs in a terminal (for example
orboto claude,orboto codex,orboto geminiororboto kimistarted in a terminal). It shows the exact screen, with search, full screen and, on a phone, a key bar. See Watch a session as its terminal. Use it for what a message cannot do, such as a full-screen menu of the agent tool. - Transcript shows every line the runner sent with its kind, as it was stored. Use it to check exactly what was recorded.
A session without a terminal has Conversation and Transcript.
On your phone
The console is built for a phone: the conversation scrolls while the open asks, the message field and the footer stay pinned at the bottom, buttons are at least 44 pixels high, and the message field uses a text size that keeps the browser from zooming in when you tap it. The command list opens upward above the field. Add orboto to the home screen and turn on notifications as described in On your phone; a tap on the notification opens the session.
Which agent tools are supported
| Agent tool | Conversation | Slash commands | Permission asks |
|---|---|---|---|
Claude Code, started with orboto claude | Full conversation, tool groups, turn ends, model, effort | Built-in commands, skills and custom commands | Answered in the terminal tab or with orboto session attach |
Claude Code, started with orboto live-session run --harness claude_code | Messages and tool calls | The agent tool's own list, plugins included | Cards in the console |
| Codex | Messages and tool calls | Built-in commands | Cards in the console for runner lanes |
| Pi | Messages and tool calls | Built-in commands | Cards in the console |
| Gemini CLI, Kimi | The terminal tab | None | In the terminal tab |
Claude Code started with orboto claude has the full conversation today.
Usage windows and the context figure need the orboto status line
(orboto claude-statusline, see the CLI reference); without
it the footer shows neither. The same full conversation for Codex, Pi, the
Gemini CLI (Antigravity) and Kimi follows with their adapters; until then those
sessions show the messages and tool calls their runner reports, plus the
terminal tab where the session has one. How a harness is adapted is on
Publish an agent session live.
From the command line
Everything the console does has a command, for example over SSH on a machine without a browser:
orboto live transcript 0c4f6a10 --follow # the conversation as it happens
orboto live say 0c4f6a10 "run the tests" # one line, as the message field sends it
orboto live say 0c4f6a10 /compact keep the plan # a slash command
orboto live answer 0c4f6a10 toolu_01 allow # allow, allow-always or deny an open approval
orboto live diff 0c4f6a10 # the change and the pull request state
orboto live pr 0c4f6a10 # open the pull requestThe session is named by its full id or the prefix orboto session list prints.
The commands are listed in the
CLI reference.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| The message field is disabled | The reason is shown next to it: you may only watch, someone else holds the takeover, the session ended or its runner is away. Ask to take over, or wait for the runner. |
No list appears after / | The runner has not reported the commands yet, for example an older CLI. Update the CLI on the machine with orboto update; typing the command still works. |
| The conversation stays empty | The session is not a Claude Code session started with orboto claude, or the agent has not said anything yet. The Transcript tab shows what the runner sent. |
| No footer with usage or context | The agent tool reports neither, or the orboto status line is not set up. |
| No Create pull request button | The chip says why. Connect the repository to the project, push the branch, or ask an admin for edit access to the project. |
Watch and steer live agent sessions
Follow a running agent session as it happens, answer its questions and approvals, take over and type into it, and sign its harness in from your phone.
Build capacity
Claim, queue, hold and book shared build hosts, CI runners and Unity machines through orboto instead of asking in a message thread: resources, claims, windows, reservations, the CI step, the admin page and the metrics.