--- title: 'Stop' description: 'Ends a branch — cleanly, or with an error an upstream Try / Catch can handle.' --- # Stop A terminal node: when reached, it ends the current branch. Use it to short-circuit a workflow once a decision has been made, or to deliberately fail a run so an upstream **Try / Catch** can react. ## When to use - After an **If / Else**, to stop a branch early — e.g. "if the amount is below the threshold, stop; otherwise continue processing." - To **fail the run on purpose** when a business rule is violated, with a message that a surrounding Try / Catch (or the run history) will show. ## Configuration | Field | Required | What it does | |---|---|---| | `mode` | No | `end` (default) — stop this branch cleanly, no error. `error` — fail the run. | | `message` | No | Shown when `mode = error`. The failure reason, visible in run history and catchable by an upstream Try / Catch. | ## What it outputs Nothing — it's a leaf. In `end` mode the branch simply finishes; in `error` mode the run is marked failed with your message. ## Gotchas - **Stop ends only the branch that reaches it.** Other parallel branches keep running. It is not a global "abort everything" switch. - **`error` mode fails the run** unless the failure is caught by a Try / Catch upstream — use it deliberately. - Stop is free — it never counts against your usage.