orbotodocs
Agents & AI

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-12 and [[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-preview names ACME-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 gemini or orboto kimi started 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 toolConversationSlash commandsPermission asks
Claude Code, started with orboto claudeFull conversation, tool groups, turn ends, model, effortBuilt-in commands, skills and custom commandsAnswered in the terminal tab or with orboto session attach
Claude Code, started with orboto live-session run --harness claude_codeMessages and tool callsThe agent tool's own list, plugins includedCards in the console
CodexMessages and tool callsBuilt-in commandsCards in the console for runner lanes
PiMessages and tool callsBuilt-in commandsCards in the console
Gemini CLI, KimiThe terminal tabNoneIn 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 request

The session is named by its full id or the prefix orboto session list prints. The commands are listed in the CLI reference.

Troubleshooting

SymptomCause and fix
The message field is disabledThe 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 emptyThe 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 contextThe agent tool reports neither, or the orboto status line is not set up.
No Create pull request buttonThe chip says why. Connect the repository to the project, push the branch, or ask an admin for edit access to the project.

On this page