# Repeat until a condition is met

Control / flow

A variant of [Branch or loop](https://meridian.online/operations/branch-or-loop).

Run a set of steps a fixed number of times, or again and again until a condition is met.

Page: <https://meridian.online/operations/branch-or-loop/repeat-until-a-condition-is-met>

## Status

Not built yet.

arcform does not do this yet; it would live in how a Protocol runs. [Its place on the roadmap](https://meridian.online/roadmap#branch-or-loop)

## What other tools call it

Meridian's classification; an independent blind rating agreed on 95.7% of 324 rows (variant, version 3).

- Azure Data Factory: [`Until Activity`](https://learn.microsoft.com/en-us/azure/data-factory/control-flow-until-activity) (read 2026-09-27)
- Duckle: [`Iterate`](https://github.com/slothflowlabs/duckle/blob/f85f8960edfb6efbf4cb89d58a7b32e16df0e867/website/docs/components.html) (read 2026-09-25)
- EasyMorph: [`Repeat`](https://help.easymorph.com/doku.php?id=transformations:repeat) (read 2026-09-27)
- Apache Hop: [`End repeat`](https://hop.apache.org/manual/latest/workflow/actions/repeat-end.html) (read 2026-09-27)
- Apache Hop: [`Repeat`](https://hop.apache.org/manual/latest/workflow/actions/repeat.html) (read 2026-09-27)
- KNIME Analytics Platform: [`Counting Loop Start`](https://api.hub.knime.com/nodes/*J96-ubA2UXnRTA3g?details=full) (read 2026-09-27)
- KNIME Analytics Platform: [`Generic Loop Start`](https://api.hub.knime.com/nodes/*ZC8oiy3iSzM8ALLO?details=full) (read 2026-09-27)
- KNIME Analytics Platform: [`Recursive Loop End`](https://api.hub.knime.com/nodes/*2gmj94W3WV__RuMY?details=full) (read 2026-09-27)
- KNIME Analytics Platform: [`Recursive Loop Start`](https://api.hub.knime.com/nodes/*w8LfCXgj22uOe6UU?details=full) (read 2026-09-27)
- KNIME Analytics Platform: [`Variable Condition Loop End`](https://api.hub.knime.com/nodes/*P9m3f5D-UEvGe2f4?details=full) (read 2026-09-27)
- RapidMiner Studio: [`Loop`](https://docs.rapidminer.com/latest/studio/operators/utility/process_control/loops/loop.html) (read 2026-09-27)
- RapidMiner Studio: [`Loop (While)`](https://docs.rapidminer.com/latest/studio/operators/extensions/Operator%20Toolbox/utility/loop_while.html) (read 2026-09-27)
- RapidMiner Studio: [`Loop Until`](https://docs.rapidminer.com/latest/studio/operators/utility/process_control/loops/loop_until.html) (read 2026-09-27)
- RapidMiner Studio: [`Loop and Average`](https://docs.rapidminer.com/latest/studio/operators/utility/process_control/loops/loop_and_average.html) (read 2026-09-27)
- RapidMiner Studio: [`Loop and Deliver Best`](https://docs.rapidminer.com/latest/studio/operators/utility/process_control/loops/loop_and_deliver_best.html) (read 2026-09-27)
- Talend: [`tInfiniteLoop`](https://help.qlik.com/talend/en-US/components/8.0/orchestration/orchestration-component) (read 2026-09-27)
- Talend: [`tLoop`](https://help.qlik.com/talend/en-US/components/8.0/orchestration/orchestration-component) (read 2026-09-27)
- VisiData: [`repeat-input`](https://github.com/saulpw/visidata/blob/7609212ec2febafa9caba7183cbebfaf49627909/visidata/features/repeat.py#L33) (read 2026-09-23)
- VisiData: [`repeat-input-n`](https://github.com/saulpw/visidata/blob/7609212ec2febafa9caba7183cbebfaf49627909/visidata/features/repeat.py#L34) (read 2026-09-23)
- VisiData: [`repeat-last`](https://github.com/saulpw/visidata/blob/7609212ec2febafa9caba7183cbebfaf49627909/visidata/features/repeat.py#L32) (read 2026-09-23)
- VisiData: [`replay-stop`](https://github.com/saulpw/visidata/blob/7609212ec2febafa9caba7183cbebfaf49627909/visidata/cmdlog.py#L477) (read 2026-09-23)
