Open the review
Explain lives in the Workbench. Press ⤢ Edit beside a Run Script node's Script field, then the Explain this code tab: your code on the left, editable and syntax-highlighted, and a plain-English review with a chat on the right. The review is only asked for when you open the tab, so editing a script in the Workbench costs nothing.

With no AI provider configured, the tab says so and offers the ways to set one up; with an empty script, it asks you to write one first.
Read the band
Three tiles top the review: Safety — Safe, Caution, or Risky — plus Language (the node's interpreter) and the script's line count. Capability chips sit below, shown only when they apply: Deletes files, Changes files, Needs admin, Connects online.

The verdict comes from a local scanner, not the model: it matches the canonical dangerous patterns — rm, curl | sh, sudo, dd, mkfs, chmod 777, fork bombs — on your Mac, instantly, on every change. An optimistic model can never talk the rating down.
Ask, and let it rewrite
The chat is pinned below the explanation. The review is handed a map of the flow first — what feeds this node, what consumes its output, the payload variables the script can read, and the fact that stdout goes downstream — so "will this work with the rest of my flow?" gets an answer naming your actual nodes.
Ask for a change and the AI rewrites the script. The new version lands live in the left pane and saves straight to the node. It can switch interpreter too, rewriting a shell script as Python and flipping the node to match.
Your explanation and conversation are saved per node, locally, outside the flow file — so they never travel with a .watchflow export. Reopen later and the history is there; reopening does not re-run the review.
Good to know
Explaining never executes anything. Only you run the script, with the ▶ button in the Workbench — and that runs it for real on your Mac, alone, with nothing downstream firing. Glance at the Safety tile first.
Every rewrite is reversible. A Script updated marker with Undo sits under the message that made the change; one tap restores the previous script and interpreter. Asking a question never alters your script.
The model is yours to pick. The pill in the composer names the model answering and switches it inline — it edits Explain's own role in Settings ▸ AI Defaults, so it never changes what your flows run on. A local provider keeps the whole review on your machine; the safety scanner needs no AI at all.
A failed run can be diagnosed. When the flow has failed recently, a Diagnose last failure bar appears. It reads the run history Watchflows already recorded — the failing node, its inputs, the error — rather than guessing.