Borago Board logo Borago Board

What the agent can do

What it can do inside a run, its limits, how it reports back, and how you steer it. Written so a person can decide and an assistant can answer.

Where it runs

Inside your project's Docker container. Never on your host.

Every run executes in the project container. Beyond the one project folder you mount in, the agent has no access to the host filesystem, none to the host shell, and none to other projects' containers unless you connect two projects on purpose. On Linux with gVisor, the container's kernel calls are intercepted by a user-space kernel. Network access is the container's, subject to the project's network and, when container management is on, the policy proxy's rules. The desktop app is the only process that talks to Docker.

The tools

The same set on Claude, OpenAI, Grok, Gemini and self-hosted models, with the exceptions in the last column.

ToolWhat it doesLimitsProviders
ShellA shell inside the container that persists for the whole run. Working directory, exported variables and background processes survive between commandsA command that prints nothing for 5 minutes, or runs for 15 minutes in total, is stopped and the agent is told to run it in the background insteadall
File editorView, create and edit filesFiles inside the container onlyall
Repository searchSearch the repository's contentsResults are capped per searchall
Propose a taskPropose a new board task from inside a runCapped per run and per family. Created in Planningall
InvestigateAn investigation tool that reads the repository and reports what it foundA few uses per runClaude, OpenAI, Grok, Gemini. Not self-hosted
Web searchThe provider's own web searchCapped per run. Counted in the run's costClaude, OpenAI, Gemini. Not Grok, not self-hosted
Read a web pageRead a page by URLCapped per runClaude, Gemini
NotebooksJupyter notebooks shown as cells and outputsRead-onlyall

Not available, and why. No access to the host filesystem beyond the project folder you point it at. No vendor command-line tools. No session resume between runs. Each run starts a fresh conversation and knows earlier runs only through what is on the task.

What it knows about your task

Your project's AI instructions, the task's title and description with mentions expanded, the tasks and notes you mention, a summary of related earlier work in the project, the previous attempt's output when it is a retry, and the attachments. Never the values of your environment variables. Those are available only inside the container when a command runs.

How it reports back

A run ends by saying how it went. The board turns that into what you see on the card.

OutcomeWhat you see
Done or BlockedThe card moves to that column with a short summary comment. Blocked also raises a notification
A questionA question comment with buttons for the options. The task waits for your answer and cannot be moved to To Do until you give it
Steps for youThings only a person can do arrive as an action comment, a marker on the card and a notification
Follow-up tasksCreated in Planning under the original task, capped, then moved to To Do unless they need you first
FilesFiles the run names are attached to the task
A replyWhen the task asked a question rather than for a change, the answer is kept as a Reply comment
Tools it installedReported so they can be kept in the project's Dockerfile, with a notification offering the restart that applies it
No outcome declaredThe card lands in Done with a note asking you to check the output, never silently assumed complete

How it is guarded

Time limits, spend limits, one run at a time, and an optional second model checking the result.

Per-command ceilings as above. A run that produces nothing for a while is ended and the task is Blocked with a comment. A per-project cost budget pauses the queue at a spend you set. One run per project. The board itself never runs anything a task says. Only the agent, inside the container, does. With Review the result after a run on, a second model reads the finished work against the task and leaves a comment when something is missing. It never re-runs anything on its own. Repeated failures stop rather than loop, and a rate limit, exhausted credits or a refused model pauses the queue with a sentence saying why.

How you steer it

LeverWhereEffect
AI instructionsProject, AI instructions tabPrepended to every run
Review instructionsSame tabTune both reviewers, never the runner
Service and model per roleProject, AI Roles tabWhich provider and model each role uses
Model per taskThe cardOverride for one task
Enhanced accuracyProject, AI Roles tabHigher effort plus a run checklist
MentionsTask textPoint at tasks, notes, files, folders
Prerequisites@#n in the textOrdering the queue honours
Environment variablesProject, Environment Variables tabInjected into the shell
Cost budgetProjectPauses the queue at a spend
Container managementProject, Containers tabLets the agent run sibling containers under the policy proxy

The other AI roles

RoleWhat it readsWhat it may do
Pre-run reviewThe task textAsk questions, suggest a rewrite, flag a duplicate. Never edits, never blocks
Post-run reviewThe diff and commit logLeave a comment. Never re-runs
ChatThe conversation, plus what mentions grant: repository read-only tools, task history, earlier chatsPropose tasks with size, effort and order. Never creates without approval
FlowsA flow's stepsDecide which steps are plain logic and which need a model each time, and write the code for the plain ones
DictationAudio, locallyText into the composer, never sent

Writing tasks the agent can execute

For a person, and for an assistant drafting tasks on a person's behalf.

  1. Make each task self-contained. The description is re-read every turn. Never write "as discussed above".
  2. State the check that means done. "Tests pass." "The endpoint returns 200."
  3. Split at real boundaries only. Each task pays its context again.
  4. Declare order with @#n mentions, not prose.
  5. Put secrets in Environment Variables, never in the task text.
  6. Put repository-wide rules in the project's AI instructions, not in every task.
  7. Prefer one command the agent can run to a paragraph describing it.

Related: Features, Security, Using a local AI model.