action name, and an optional args object. Give the element as a ref from reticle_look { action: "page" } or reticle_look { action: "find" }. Or give a target ({ testid }, { text }, { role, name } or { label }) that Reticle finds in the same call. A press of Escape, Tab or a modifier shortcut goes to the document and needs neither. The same actions are available on reticle_act, which proves nothing, and on reticle_act_and_wait, which returns a verdict.
Arguments that are not actions
Threeargs keys apply across actions rather than belonging to one:
The refusal you will meet first
Reticle blocks a control that looks destructive before acting on it:"ref 'e303' no longer resolves to an element" and a recovery note telling you to re-query. Both refusals cost a turn and prevent a false green, which is the trade.
fill versus type
fill replaces. type appends. Reaching for type when you meant fill is how a field ends up containing hellohello, and neither call will complain.
press takes text, not key
Both are accepted today, and text wins when both are present. Use text. It is what the tool description documents.
That bug is fixed, and the reason it is written down here is that it is the exact shape of failure Reticle exists to catch. An action that reports success while doing something else.
Batching
Several actions in one round trip:Real versus synthetic input
inputMode in the response says which you got. synthetic means events dispatched programmatically. This is correct for most apps. real means native CDP input. You get it under reticle drive, and a few drag-and-drop and pointer-gesture libraries need it. On a leased tab (reticle_lease), a press uses the real keyboard: Tab moves focus, and a press with a ref focuses that element first, so Enter or Space presses it as a person would.
What every action reports
dispatched, targetMatched, visible, enabled, valueChanged, focusMoved, domMutatedWithin, defaultPrevented, occluded, occludedBy and scrolledIntoView. Plus the element’s testid, component, role, name and source file and line.
Fields sitting at their uninformative default are omitted, so a clean action collapses to its consequence. A missing visible means true, not false. Read an absence as “nothing to report” rather than as a failure.
occluded is often the answer to “the button doesn’t work”: the click landed on the modal overlay sitting on top of it.
Full field-by-field walkthrough
What each effect field tells you, with a real response.