ref from reticle_snapshot or reticle_query, an action name, and an optional args object. The same seventeen 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. Correct for the overwhelming majority of apps. real means native CDP input, available under reticle drive, and needed by a few drag-and-drop and pointer-gesture libraries.
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 the answer to a large share of “the button doesn’t work” reports: 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.