How to start agent runs, track their status, view logs, and open live Claude sessions from your board.
This feature is available on all Infa plans (Free, Pro, and Enterprise).
A run is a single Claude Code agent session triggered from your Infa board. Each run has a prompt (what you want Claude to do), a status that updates in real time, and a log of every action Claude takes. You can start runs from the dedicated Runs page or from inside any Paper using the /run command.
Copy link
The Runs page
Navigate to b/{boardId}/runs to see all runs for a board in one place.
The page is split into two sections:
Active — runs that are currently queued or executing
History — completed, failed, and cancelled runs
At the top, the connection status tells you whether a runner is ready. If it shows "No runner connected", new runs will queue but won't execute until you connect a runner. Below it, Agents on this board lists the board's agents with whether each one's operator has a runtime online. A run an agent did is marked with the agent, where it came from (a run block in a paper, a mention in a comment) and the agent's report.
Copy link
Starting a run
Copy link
From the Runs page
Click New Run in the top-right corner
Under Run with, keep your own runner or pick one of the board's agents (it runs on its operator's machine, as the agent)
Select a run configuration (your own runner, if you have more than one)
Write a prompt — describe what you want Claude to do (required for an agent)
Click Start Run
The run appears immediately in the Active section with a Queued status. If a runner is connected, it picks up the run within seconds and status changes to Running.
Prompt tips
Be specific. Instead of "fix the bug", write "find and fix the TypeScript error in src/components/Button.tsx that causes the build to fail". Claude performs best with clear, scoped instructions.
Copy link
From inside a Paper
Type /run in any Paper and pick Run (it is also in the insert menu). A run block appears with the caret in its prompt:
Write the prompt — what the agent should do. Markdown works: headings, lists and code read as such once the block shows it.
Under Run with, keep your own runner (the default) or pick one of the board's agents. An agent runs on its operator's machine, with their own Claude Code. The chip's dot says whether that runtime is online, and a Connect button appears when it is not — it opens the Share modal, whose Agents rows say how to connect one.
Click Run — or Assign to @agent — and confirm.
The block links itself to the run and shows its status, the latest action, the logs and, when it is done, the agent's report, all in place next to the context that motivated it. A stored block opens collapsed — the prompt clamped to a few lines, Show more or the chevron opens the whole of it — and the expanded view adds the Branch (one of the base branches of the board's run configurations: the repository your own runner works in) and the runner's status with how to connect it. Run again re-arms the block with the same prompt and agent, the prompt open for a tweak. If no runner is connected, the run waits in the queue.
A run is an entity of the board, and the block is its preview in the paper: once run, the block is stored as <RunnerBlock id="…" runId="…" />. Show an existing run… in the block's ⋯ menu points an armed block at a run that exists already — one started from the Runs page, or by an agent. An agent working through the Infa MCP creates runs the same way (infa_createRun, optionally assigned to a board agent), writes the block with the regular edit tools, and reads the run back (infa_listBoardRuns, infa_getRunStatus); the Infa Claude plugin's runs skill does exactly that. An agent is defined in a repository (.claude/agents/<name>.md), linked to the board with npx infa agents link <path> --as <Tag>, and joins the board when npx infa preview runs there — operated by that person, online while preview runs. The board's Agents page (board tools → Agents) lists them and, with none yet, hands you a prompt to paste into Claude Code with the Infa plugin that sets one up.
Copy link
Run statuses
Status
Meaning
Queued
Run created, waiting for a runner to pick it up
Running
Runner has started a Claude Code session
Completed
Claude finished successfully
Failed
The session exited with an error
Cancelled
You or someone on the board cancelled the run
Status updates arrive via Supabase Realtime — you do not need to refresh the page.
Copy link
Reading run output
Each run card shows:
Latest log line — the most recent action Claude took (e.g. [Edit] src/components/Button.tsx)
Branch name — the Git branch Claude is working on, if the runner created one
Duration — elapsed time for active runs; total time for completed runs
Click Logs on any run card to expand the full activity log. Each entry shows a timestamp, the tool Claude used, and the file or command it acted on.
10:42:03 [Read] src/components/Button.tsx
10:42:05 [Edit] src/components/Button.tsx
10:42:09 [Bash] npm run test
10:42:31 [Write] src/components/Button.test.tsx
Logs stream live during active runs. We at Infa store up to the last 100 log entries per run.
Copy link
Opening a live session
When a run is executing via a remote-capable runner, an Open Session link appears on the run card. Clicking it opens the live Claude session viewer in a new tab — you can watch Claude work in real time, see its thinking, and even send follow-up messages.
Session availability
The Open Session link only appears when the runner has created a shareable remote session URL. Local-only runs (using infa preview in local mode) do not produce a session URL.
Copy link
Cancelling a run
To cancel a Queued or Running run, click Cancel on the run card. If a Claude session is already active, the runner terminates the process and marks the run as Cancelled.
Copy link
Run configurations
Runs inherit their configuration from the board-level run configuration you select when creating the run. The configuration defines:
Which local repository folder Claude opens in
The Git base branch for new work
The branch prefix for auto-created branches
What Claude is allowed to do (file edits, shell commands, etc.)
If no configurations are set up for your board, the New Run form shows a setup prompt. Follow the steps in Runners overview to create your first configuration via the Infa CLI.
Copy link
Troubleshooting
A run stays Queued when no runner is active. Check that infa preview is running in your terminal (or the desktop app is open and connected). The Runs page shows Runner connected when a runner is ready. A run assigned to an agent waits for that agent's operator instead — their infa preview, on their machine; the Runs page and the block say whether it is online.
Check the expanded logs for the error message. Common causes are: the repository path in the run configuration doesn't exist, Claude doesn't have permission to run commands, or the base branch is missing locally. You can update your configuration with infa board.
Session URLs are only available for remote runs. If you are running infa preview locally without remote mode enabled, the link won't appear. See Run Modes for how to enable remote sessions.
If the runner process was interrupted (e.g. the machine went to sleep), logs stop streaming but the run stays in Running status. Cancel the run manually and start a new one. We at Infa are working on automatic stale-run detection.
Managing Runs
This feature is available on all Infa plans (Free, Pro, and Enterprise).
A run is a single Claude Code agent session triggered from your Infa board. Each run has a prompt (what you want Claude to do), a status that updates in real time, and a log of every action Claude takes. You can start runs from the dedicated Runs page or from inside any Paper using the
/runcommand.Navigate to
b/{boardId}/runsto see all runs for a board in one place.The page is split into two sections:
At the top, the connection status tells you whether a runner is ready. If it shows "No runner connected", new runs will queue but won't execute until you connect a runner. Below it, Agents on this board lists the board's agents with whether each one's operator has a runtime online. A run an agent did is marked with the agent, where it came from (a run block in a paper, a mention in a comment) and the agent's report.
The run appears immediately in the Active section with a Queued status. If a runner is connected, it picks up the run within seconds and status changes to Running.
Be specific. Instead of "fix the bug", write "find and fix the TypeScript error in src/components/Button.tsx that causes the build to fail". Claude performs best with clear, scoped instructions.
Type
/runin any Paper and pick Run (it is also in the insert menu). A run block appears with the caret in its prompt:The block links itself to the run and shows its status, the latest action, the logs and, when it is done, the agent's report, all in place next to the context that motivated it. A stored block opens collapsed — the prompt clamped to a few lines, Show more or the chevron opens the whole of it — and the expanded view adds the Branch (one of the base branches of the board's run configurations: the repository your own runner works in) and the runner's status with how to connect it. Run again re-arms the block with the same prompt and agent, the prompt open for a tweak. If no runner is connected, the run waits in the queue.
A run is an entity of the board, and the block is its preview in the paper: once run, the block is stored as
<RunnerBlock id="…" runId="…" />. Show an existing run… in the block's ⋯ menu points an armed block at a run that exists already — one started from the Runs page, or by an agent. An agent working through the Infa MCP creates runs the same way (infa_createRun, optionally assigned to a board agent), writes the block with the regular edit tools, and reads the run back (infa_listBoardRuns,infa_getRunStatus); the Infa Claude plugin'srunsskill does exactly that. An agent is defined in a repository (.claude/agents/<name>.md), linked to the board withnpx infa agents link <path> --as <Tag>, and joins the board whennpx infa previewruns there — operated by that person, online while preview runs. The board's Agents page (board tools → Agents) lists them and, with none yet, hands you a prompt to paste into Claude Code with the Infa plugin that sets one up.Status updates arrive via Supabase Realtime — you do not need to refresh the page.
Each run card shows:
[Edit] src/components/Button.tsx)Click Logs on any run card to expand the full activity log. Each entry shows a timestamp, the tool Claude used, and the file or command it acted on.
Logs stream live during active runs. We at Infa store up to the last 100 log entries per run.
When a run is executing via a remote-capable runner, an Open Session link appears on the run card. Clicking it opens the live Claude session viewer in a new tab — you can watch Claude work in real time, see its thinking, and even send follow-up messages.
The Open Session link only appears when the runner has created a shareable remote session URL. Local-only runs (using infa preview in local mode) do not produce a session URL.
To cancel a Queued or Running run, click Cancel on the run card. If a Claude session is already active, the runner terminates the process and marks the run as Cancelled.
Runs inherit their configuration from the board-level run configuration you select when creating the run. The configuration defines:
If no configurations are set up for your board, the New Run form shows a setup prompt. Follow the steps in Runners overview to create your first configuration via the Infa CLI.
A run stays Queued when no runner is active. Check that
infa previewis running in your terminal (or the desktop app is open and connected). The Runs page shows Runner connected when a runner is ready. A run assigned to an agent waits for that agent's operator instead — theirinfa preview, on their machine; the Runs page and the block say whether it is online.Check the expanded logs for the error message. Common causes are: the repository path in the run configuration doesn't exist, Claude doesn't have permission to run commands, or the base branch is missing locally. You can update your configuration with
infa board.Session URLs are only available for remote runs. If you are running
infa previewlocally without remote mode enabled, the link won't appear. See Run Modes for how to enable remote sessions.If the runner process was interrupted (e.g. the machine went to sleep), logs stop streaming but the run stays in Running status. Cancel the run manually and start a new one. We at Infa are working on automatic stale-run detection.