- Docs
- Orchestration
- Loops
Loops
A loop types an instruction into chosen consoles again and again, on the trigger you set, until a stop condition ends it. Use it to keep agents moving, watch a build or check in every hour.
Open loops#
Press L, or use ToolsLoops, the right rail's Loops (its badge counts running loops), or the Loops chip in the open thread. You can also start one by voice: every 10 minutes run the tests, which asks you to confirm in a macOS dialog.
Make a loop#
- Pick a trigger
On a schedule: every 1 minute to 24 hours, with 5, 10, 15 and 30 minutes and 1 and 2 hours as presets, 15 minutes by default. When an agent goes idle: when a console finishes its turn. When output contains: when new output shows the text you give, at least two characters, matching case only if you type a capital letter.
- Write the instruction
What to type into the consoles each time.
- Choose the consoles
All consoles, the consoles of one orchestrator card, or Pick consoles.
- Set when it stops
After a number of runs, 1 to 200. After a time limit, 15 minutes to 24 hours. When a goal is met, described below.
For a scheduled loop, the composer estimates how many prompts per hour it will send, across how many consoles, before you save.
Goals#
- A command passes
- Runs a command in your repo with zsh. Exit code 0 means the goal is met. A check is stopped after five minutes.
- An agent judges
- Asks your CLI, in a session the app runs out of sight, whether the goal is met, and reads its verdict. It does not run commands. Each check is a turn on your plan.
A goal is checked before a scheduled run and when a targeted console finishes a turn, which Symvibe learns from live agent status, but never twice within 90 seconds. At most two checks run at once. A check that cannot reach a verdict, for example because the CLI is signed out, lets the run go ahead.
Templates#
Seven starting points: Progress check, Keep them moving, Build rescue, Test watchdog, Commit checkpoint, Review sweep and Hourly standup.
How loops deliver#
- The instruction is typed and submitted, like any order. Each run is a turn on that agent's plan.
- Only consoles running an agent receive it. A console showing a permission prompt or a question is skipped: a scheduled run that reached no console tries again a minute later, and otherwise the skipped console waits for the next run. An output trigger delivers once the console is free; an idle trigger lets that turn pass.
- Idle and output triggers fire at most once every two minutes per console.
- When an agent goes idle relies on live agent status: without it, Symvibe cannot tell when an agent finished a turn.
- Loops run only while Symvibe is open and the Mac is awake. Keep running behind other tabs lets a loop keep reaching consoles in a background workspace.
- The history shows the last 20 entries of this session, runs and skips alike, and is cleared when you quit.
Notifications#
While Symvibe is in the background, loops send a silent notification when a scheduled loop finds a console waiting on you and holds its instruction, and when a loop ends: goal met, time limit reached or run cap reached. macOS asks for permission the first time you create or turn on a loop. These are the only notifications the app sends.
Keep going#
Something on this page does not match what you see in the app? Write to hello@symvibe.com or tell us in the Discord, and we will fix it.