How to Run Parallel Agents with Tendril
The power of Tendril isn't a single AI assistant answering questions — it's a master agent that breaks your work into parallel tracks and runs them simultaneously. This guide shows you how to decompose a task, launch sub-agents, and review their output before anything merges.
How Decomposition Works
You start by writing a task in plain language — the same way you'd write a ticket or a Slack message to a senior developer. For example:
"Add a dark-mode toggle to the settings page. It should persist the user's choice in localStorage and respect their OS preference on first load."
Tendril's master agent reads this description alongside your project context and identifies the independent units of work that can run in parallel without conflicting. For the example above, it might produce:
- Subtask 1 — Add
useColorSchemehook with localStorage persistence - Subtask 2 — Add OS preference detection via
prefers-color-schememedia query - Subtask 3 — Wire toggle UI component to the hook in
SettingsPage.tsx - Subtask 4 — Add CSS variables for dark mode to
global.css
Subtasks 1, 2, and 4 can run concurrently. Subtask 3 depends on Subtask 1 completing first, so the master agent schedules it to start as soon as that dependency resolves.
Reviewing the Plan Before Launch
Tendril does not immediately launch agents. After decomposition, it presents the full subtask plan in a Review Plan modal before anything starts. You can:
- Edit a subtask's description to give the agent more specific instructions
- Merge two subtasks together if the separation feels too granular
- Remove a subtask you want to handle manually
- Add a custom subtask the master agent didn't generate automatically
Once you click Launch Run, the plan is locked and agents begin working. You can always stop a run mid-flight, but any completed subtasks will still require review.
How the Master Agent Assigns Sub-Agents
The master agent acts as a coordinator, not a worker. Its job is to:
- Assign each subtask to a dedicated sub-agent with the relevant project context prepended
- Enforce dependency ordering — sub-agents waiting on another subtask's output are held in a Blocked state
- Pass the output of completed subtasks as input context to dependent sub-agents
- Surface any detected conflicts (e.g., two agents editing the same file) as warnings before they run
Sub-agents are stateless — each one receives a complete context packet from the master agent and produces a complete output (code diff + explanation). They don't share state between each other directly; the master agent mediates all handoffs.
Reading the Kanban in Real Time
While a run is active, the Kanban board in your Tendril dashboard updates live. Cards move through four columns:
Subtasks queued but not yet assigned. If you're on Free, only 1 card moves to In Progress at a time.
An agent is actively working. You can expand the card to see a live thought-process stream.
The agent finished. The card shows a diff summary and waits for your approval before anything is committed.
You approved the output. The changes are queued for the merge PR Tendril will open on your behalf.
Blocked cards appear with an orange border and show which dependency they're waiting on. If an agent encounters an unexpected error, the card moves to a Failed state with an explanation you can use to retry or edit the subtask.
Review and Approve Agent Output
Every completed subtask lands in the Review column as a diff — additions in green, removals in red, identical to a GitHub pull request diff. The review screen shows:
- Files changed, lines added/removed
- The agent's explanation of why it made each change
- A link to the relevant subtask description for context
Approval options
- Approve — accepts the diff and moves the card to Done
- Request changes — sends the agent a follow-up instruction to revise its output; the card returns to In Progress
- Reject — discards the subtask output entirely; you can rewrite the subtask and re-run
After all subtasks are approved, Tendril opens a single pull request on GitHub containing all the changes. The PR description is auto-generated by the master agent and lists every subtask and its approval status.
Free vs Pro: Concurrent Agent Limits
1 concurrent agent
Subtasks run sequentially. All features work — you just wait longer between cards moving through the Kanban.
Unlimited concurrent agents
Run as many subtasks simultaneously as your hardware and API key can handle. More agents working in parallel means faster results on Pro.
Concurrency is limited by your machine's resources and your API key's rate limits — not by an artificial cap. Pro users can run multiple projects simultaneously, each with their own set of parallel agents.
Next Steps
- Use the Knowledge Graph → — learn how Pro's persistent project memory improves results across runs (Pro only)
- Connect Your First Repo → — make sure your project context is set up correctly before your next run
Was this helpful?