Per-Agent Review

  • Desktop app
  • All plans

What it does

When several agents work on the same project at once, AgentsRoom records which agent touched which file and lets you review and commit one agent at a time. The Changes tab and Review Mode gain a filter: All shows the full git diff, one tab per agent (avatar, name, file count) narrows the list to that agent's files, and the commit action then stages only those files. Every file also shows who modified it; a file touched by two agents appears under both. Switching to an agent's terminal auto-selects its filter, so the panel follows the agent you are looking at.

Where to find it

  • Right panel > Changes tab: the Filter by agent row above the file list (All, then one entry per agent; a Team entry when a team run is involved).
  • Review Mode: the same tabs at the top of the file list, All files first.
  • The filter row can be hidden or restored in Settings > Interface elements > Right panel > Filter by agent.

How to use it

  1. Let the agents work; attribution is recorded as they edit.
  2. Open Changes and click an agent's tab: the file list, the diff and the progress bar shrink to that agent's files.
  3. Review the files (Review Mode works on the filtered set), then commit from the filtered view: only those files are staged, with their own message.
  4. Repeat for the next agent, or go back to All and commit everything together.

Right-click an agent's tab for Clear attribution for this agent when the record is stale.

Settings

  • uiElements.rightPanel.agentFilter (global, Settings > Interface elements): show or hide the filter row.

Agent tools (MCP)

None. Attribution is recorded automatically from the agents' file tools and command history.

Providers

Attribution uses two sources: a hook on the CLI's file-editing tools that records each file as it is written, and, for files written by shell commands, the timing of each agent's commands matched against file modification times. The agent tabs are offered for Claude Code, Codex, OpenCode, Grok Build, Cursor and oh-my-pi. Coverage differs: Claude Code, Codex and oh-my-pi get both sources, while OpenCode, Grok Build and Cursor report the files their editing tools write and leave shell-written files under All. For oh-my-pi, AgentsRoom loads a small extension of its own when it launches the agent (your own omp extensions keep loading), and the shell timing covers its bash and eval tools. For every other provider the panel shows the strip Per-agent file changes are not supported for ... yet with Use All to review the full git diff. and a Request button; selecting that agent's tab shows File attribution is not supported for <provider> with Show All changes and Request support. The provider is named as the app names it, so the message reads "Claude" and "Grok". The full diff is always reviewable under All.

Mobile

The phone has the same filter on its Changes screen. Open it from the project header for the whole working tree, or from an agent's console to start on that agent: the chips are All (with the total) and one per agent that has files, and the agent you came from keeps its chip even at 0. When that agent has no attributed file but git still sees changes, the list says "<agent> hasn't touched any file yet" and Show all files switches to All. The phone commits the ticked files (everything listed is ticked by default) and can push the result.

Attribution is computed on the computer: files written through a shell command, and everything a Codex agent writes, are attributed by a scan that only runs while the desktop's Changes tab is open. Until then an agent's chip can list fewer files than All on the phone.

Limits

  • Agent tabs appear only once two or more agents have attributed files.
  • A file written by a shell command is attributed by timing, which can be wrong when two agents run commands at the same second. OpenCode, Grok Build and Cursor have no timing source: what they write through a shell stays under All. On oh-my-pi, a conversation switched with /new inside the CLI is no longer followed for shell timing until the agent is relaunched.
  • Grok Build only reports its writes in a git repository it has been trusted in, which is what AgentsRoom does when it launches the agent.
  • Cursor reports its writes through the same Claude Code hook file, which its CLI imports by default (Cursor Settings, Agents, Third-Party Imports); a user who switched that import off gets an agent tab that stays at 0.
  • Attribution is local to this machine and to the current working tree; it does not travel with the repository.
  • Committing from a filtered view stages only the filtered files: a shared file has to be committed with one agent or with All.

Common questions

  • How does it know which agent changed a file? The agent's file tools report each write through a hook; shell-written files are matched by the time the agent ran its commands.
  • Two agents changed the same file. It is listed under both tabs with both names; pick which commit gets it, or commit it with All.
  • Can I still commit everything at once? Yes, select All and commit.
  • The banner says attribution is unsupported. That provider does not expose file-tool hooks yet; review under All, and click Request support to vote for it.