Two switches decide what the assistant may do without asking you. Open the widget, then More → How automation works — the panel is part of the widget, not this page.
A control that changes what an assistant may do on your behalf should be able to say so where you throw it. These are the lines the widget will not cross, whatever the toggles are set to:
| Always automatic when enabled | Never automatic |
|---|---|
| Opening a page (pure navigation, no state change) | Anything carrying a confirm |
| Applying a write the host classified as safe | Typing or clicking on your behalf (operate) |
| A card that asked you for input |
Off by default, stored in this browser, per person. In advanced view it is pinned ON and the toggle is disabled — advanced view has always driven the frame itself, and a switch reading “off” while doing it was the UI telling a lie.
createAiChatWidget({ autoNavOption: true });
A predicate, not a boolean. The widget cannot tell a draft from a publish — they arrive as the same shape — so it never guesses. The host says which writes are safe to apply unasked, and a host that passes nothing gets no toggle and no auto-apply.
createAiChatWidget({
// Recoverable writes only. Everything else keeps its Apply button.
autoApplyOption: (name) =>
name === "wp_upsert_post" || name === "save_artifact_to_assets",
});
Three conditions must all hold before anything is applied: the person turned it on, the host returned true for that specific write, and the card asked for nothing. Fields on a card are the assistant asking you — applying past them answers your question with a guess.
The bubble in the corner is the real widget with both options set. Open More to see the toggles and the explainer panel.