# Agent Fork and Ask on the Side

> Two gestures built on the same idea: copy a running agent's conversation without disturbing it.

- Area: Desktop, mobile and web
- Plans: All plans
- Last checked against the product: 2026-10-01
- Web page: https://agentsroom.dev/docs/fork-agent

## What it does

Two gestures built on the same idea: copy a running agent's conversation without disturbing it.

**Fork** creates a second agent that already knows everything the first one knows: same role, same CLI, same model and the whole conversation (decisions taken, approaches ruled out, files already read). The two consoles then run in parallel on two separate conversations; the original never stops, slows down or sees anything. Use it to try a second approach without abandoning the first, or to get a twin to review a decision.

**Ask on the side** opens a bubble where you ask a question about what the agent is doing, without the agent hearing it. The question runs off screen against a copy of its conversation, read-only where the CLI offers a verified mode, the answer streams into the bubble, and nothing enters the agent's history. It replaces the `/btw` some CLIs offer, without taking over the terminal.

**Video (1 min 17):** [Agent Fork, shown in the real app](https://youtu.be/qmHq03adttM). An agent finds a bug and lists four fixes, one click forks it, and the two twins follow two different fixes at the same time.

## Where to find it

- **Fork**: hover an agent row that has an open session; the **Fork** button sits in its action bar, left of the ⋯ menu, which also carries **Fork**. The button only appears on an agent with a live session.
- **Ask on the side**: the round button at the bottom right of the agent's pane, next to the conversation view ([Conversation View](https://agentsroom.dev/docs/conversation-view.md)) and read-aloud buttons. It is hidden for CLIs that cannot answer on the side.

## How to use it

Fork:
1. Click **Fork** on a running agent. A persistent twin is created and sorted in the list like any other agent (it survives closing the original).
2. Its console opens. On Claude, Codex and Grok it already contains the whole conversation. On other CLIs a line on screen says this is a new session and that the previous conversation was written to a file the agent has been asked to read first.

Ask on the side:
1. Click the round **Ask on the side** button. The bubble's subtitle says where the answer comes from: "A copy of this agent, answering you" or "A fresh session, reading this console".
2. Type the question and press **Ask**. A waiting line shows what the CLI is doing (opening a copy, reading the conversation, waiting for the model, running a tool) with a seconds counter, then the answer streams in.
3. Ask follow-up questions: the thread is kept.
4. On each answer: **Copy**, or **Send to the agent**, which only pre-fills the composer and never sends.
5. Closing the bubble cancels the run in progress.

## Settings

None.

## Agent tools (MCP)

None. `agents_spawn` creates a blank agent with a brief, not a copy of a conversation.

## Providers

- **Native fork**: Claude, Codex and Grok fork their own session. On Claude and Grok the twin is resumable from its first second. A Codex fork made on Windows cannot be resumed later (known gap).
- **Fallback fork** (every other CLI): the twin starts a fresh session and is handed a written record of the parent console; AgentsRoom says so on screen instead of degrading silently.
- **Ask on the side** runs on Claude, Codex, Grok, GitHub Copilot CLI, OpenCode, Mistral Vibe, Antigravity CLI and Kimi Code. Read-only is enforced where the CLI provides a verified mode: plan mode on Claude and Grok, a read-only sandbox on Codex, the plan agent on Mistral Vibe. Other CLIs run without a special flag; since nobody is there to approve, a non-interactive run answers without touching the disk.
- **Codex and the side question**: the copy of the conversation needs a Codex CLI that knows the exec fork sub-command, which exists from codex-cli 0.148.0. AgentsRoom reads the installed version once per launch: on an older Codex the question runs as a fresh session that reads the console instead, and the bubble's subtitle says so ("A fresh session, reading this console"). When the version cannot be read, nothing is degraded.

## Mobile

- **Ask on the side**: present, with the same two entry points as the desktop: the floating dock of the console and the agent's actions sheet. The phone only sends the sentence; the desktop runs the very same side question, in the same thread, and streams the answer back rendered in Markdown. Not on the phone: **Send to the agent** and **Report this bug**.
- **Fork**: not on the phone. It opens a persistent console on the desktop that you would then have to watch and close.

## Limits

- Both gestures run on your own CLI account and spend your provider quota, unlike the Agent advisor which uses AgentsRoom's own allowance. A fork re-reads the whole context (largely served from cache on Claude).
- A side question's thread is not persisted: once the console is closed it describes nothing any more.
- The fallback fork knows what was said in the console, not what the agent "had in mind" (no hidden reasoning is copied).
- Only one side question runs per agent at a time.

## Common questions

- **What is the difference with Duplicate?** Duplicate and Flash duplicate copy the configuration only (role, CLI, model) and start from a blank page. Fork copies the conversation.
- **Does the original agent notice?** No. It carries on, undisturbed, and never sees the fork or the side question.
- **Why is the Fork button missing?** The agent has no open session. On CLIs without a fork command the only copy of the conversation is the console's scrollback, so a closed agent has nothing to fork.
- **Can a side question modify my code?** Not where the CLI offers a verified read-only mode (Claude, Grok, Codex, Mistral Vibe). Elsewhere the run has nobody to approve actions, so it answers without acting.
- **On Codex the side question answered "unexpected argument" and exit code 2.** Fixed on 2026-09-16: that was a Codex CLI older than 0.148.0, which has no exec fork sub-command. AgentsRoom now checks the installed version and falls back to a fresh session on an older Codex; updating Codex restores the copy of the conversation.
- **Does it cost tokens?** Yes, like any turn. Closing the bubble cancels the run so an abandoned answer is not billed further.
- **Is there a video that shows it?** Yes, a little over a minute, filmed in the real app: https://youtu.be/qmHq03adttM

## Related

- [Agent Morphing](https://agentsroom.dev/docs/agent-morphing.md): change a running agent's role instead of duplicating it.
- [Agent Suggestions](https://agentsroom.dev/docs/agent-suggestions.md): the advisor bubble the side-question bubble is modelled on.
- [Restore Session](https://agentsroom.dev/docs/restore-session.md): how a forked session is resumed later.
- [Multi-Provider Support](https://agentsroom.dev/docs/multi-provider.md): per-CLI capabilities.
