What is Infa
Infa Chrome Extension
How to use and install our Chrome Extension
Community
Browse community design systems
Release Notes
Featuring the latest changes to keep you up-to-date
Research Program
Participate in shaping the future of Infa
SOC 2 Type II Compliance Badge
Enterprise Ready
SOC 2 Type II certified for enterprise-level security and compliance
EventsLearnPricing
Sign up for free

Feedback

Share your feedback

Close
Anonymous submissions are auto-posted to #feedback channel. You can also share directly in Slack.

Need help?

Reach out to contact@infa.ai or see docs

Navigation
Search...
⌘ K
Focus sentinel
Close

Search Documentation

PressESCto close
Focus sentinel
Infa Documentation
  • General Information
    • Boards
    • Components
      • Main Components Vs Component Views
      • Component Tagging
      • Component Anatomy
    • Labels
    • Teams
    • Authentication
    • Permissions
      • Inviting People to Teams
      • Inviting People to Boards
    • Billing & Subscription
      • Managing Subscription
      • Promo Code Activation
    • Data Import, Export & Sync
      • Local vs. Cloud Boards
  • App Blocks
    • Building App Blocks
  • Chrome Extension
    • Deep Links
    • Using Labels
    • Updating the Extension
  • Integrations
    • MCP Server
    • Claude Code Plugin
    • External API
    • Progressive Web App
    • Figma Plugin
    • Coda Pack
    • Overview
    • Managing Runs
    • Board Agents
    • Overview
    • Infa Capture
    • Installation
    • Authentication
    • Connect a Board
    • Run Modes
    • Hooks & Agents
    • File Sync
    • CLI Reference
Switch to Light theme
Switch to Dark theme
TermsPrivacyChat with Us
  1. Docs
  2. Integrations

Managing Runs

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

  1. Click New Run in the top-right corner
  2. 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)
  3. Select a run configuration (your own runner, if you have more than one)
  4. Write a prompt — describe what you want Claude to do (required for an agent)
  5. 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.

info icon
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:

  1. Write the prompt — what the agent should do. Markdown works: headings, lists and code read as such once the block shows it.
  2. 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.
  3. 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

StatusMeaning
QueuedRun created, waiting for a runner to pick it up
RunningRunner has started a Claude Code session
CompletedClaude finished successfully
FailedThe session exited with an error
CancelledYou 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.

info icon
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.

Copy link
Related topics

  • Runners overview — connecting a runner
  • Board Agents — the teammates a run block can be handed to
  • Hooks & Agents — how logs reach the board
  • Run Modes

Content Feedback

Feedback on selected content

Close
Anonymous submissions are auto-posted to #feedback channel. You can also share directly in Slack.

Need help?

Reach out to contact@infa.ai or see docs