To review what an AI agent wrote before it goes live, turn on Force draft on create in the Agent Abilities for MCP Settings tab, then open the Needs review card on its Dashboard. New posts the agent creates, and any request to publish, are saved as drafts. You preview each one and press Publish or Discard yourself.
Force draft has a limit worth knowing before you rely on it. It holds what an agent creates. It does not hold an edit to a post that is already live. This guide covers both halves, and the one account setting that closes the gap.
How do I review what my AI agent wrote before it goes live?
Switch on Force draft on create in the Settings tab and save. New posts, pages, custom content items, reusable blocks and WooCommerce products the agent creates, and any request to publish, become drafts. Open the Dashboard, find the Needs review card, and use Preview, Open in editor, Publish or Discard on each item.
What Force draft holds, and what it does not
“Drafts only” sounds broader than it is, so here is the exact scope.
| The agent does this | With Force draft on |
|---|---|
| Creates a post, page, custom content item, reusable block or WooCommerce product | Saved as a draft, whatever status it asked for |
| Asks to publish something that is still a draft | Stays a draft |
| Sends “publish” for a post that is already live | The post stays live (fixed in 1.8.0, see below) |
| Edits the content of a post that is already live | Goes live immediately. Force draft does not hold it |
| Creates media, menus, terms, comments, users, coupons or orders | Not affected, because these have no draft state |
| Creates a product variation | Not affected |
The plugin’s own Settings help lists the first, fifth and sixth rows the same way. The fourth is stated in the live readme: edits to a post that is already published still go live.
Two more cases sit outside Force draft entirely. An Application Password is a whole-site credential scoped only by the user’s role, so this plugin’s limits apply only to calls through its own MCP endpoint. And tools that another plugin publishes to the MCP Adapter’s default server are not governed by this plugin at all.
Turn it on
- Open the plugin’s Settings tab.
- Switch on Force draft on create.
- Save the tab.
Nothing else is needed for new content. The switch is off until you set it, like every optional safety control in the plugin.
What the Needs review card shows
The card lists the drafts and pending posts an agent starts, most recently changed first. It is new in 1.8.0, and it is a list of things waiting for you, not a log of everything the agent touched.
- Each row shows the title, the post type, whether it is a draft or pending, which WordPress user the agent acted as, the OAuth client it connected through when there is one, the time, and the tool that wrote it.
- Each row can show four buttons: Preview (only for content types with a front-end view), Open in editor, Publish and Discard.
- Publish appears only if you can edit and publish that post. Discard moves the post to the Trash, and is unavailable when the Trash is off, because it would otherwise delete the post for good.
- Twenty rows show at once. At twenty or more, the count reads “20+”.
Every Publish and Discard re-checks your permissions at the moment you click, and writes a row to the Activity Log, refusals included.
Two limits on what lands there. The marker that puts a post on the card is new in 1.8.0, so a draft an agent made before you updated will not be listed. And only creations are marked: if an agent edits a draft a human started, that draft does not become an agent draft.
Close the gap on live posts: connect the agent as a Contributor
If you want every change reviewed, including edits to posts that are already published, the answer is the account, not a setting. According to WordPress’s own Roles and Capabilities documentation, a Contributor holds delete_posts, edit_posts and read. It does not hold publish_posts or edit_published_posts.
The plugin checks that capability on every call to its tools, so a Contributor-connected agent cannot publish and cannot edit a live post. The readme says the same: a Contributor “cannot edit published posts at all.”
| Agent connected as | Asks to publish a new post | Edits a post already live |
|---|---|---|
| Editor, Force draft off | Published | Goes live |
| Editor, Force draft on | Saved as a draft | Goes live |
| Contributor, Force draft on | Refused, it cannot publish | Refused, it cannot edit published posts |
With the Contributor row, the agent can still write drafts and they still arrive on the Needs review card. Setting up the account is covered in limit an AI agent to Editor, not Admin, and the drafting workflow end to end is in let an agent draft posts without touching anything live.
Site Brief can ask, Force draft enforces
1.8.0 also adds a Site Brief, a few lines you write once that the plugin sends to every agent when its session starts. It is tempting to write “save everything as a draft” there. Do that if you like, but treat it as a request.
Whether an agent follows the Site Brief depends on the client. Force draft is the control that does not depend on anyone’s cooperation, so keep it on and use the Brief for style and house rules.
One fix that matters here
Before 1.8.0, with Force draft on, an agent that sent “publish” again for a post that was already live took it offline. The post now stays live. That is the case the fix covers, and the full list is in the 1.8.0 release notes.
Questions people ask
Can ChatGPT or Claude publish to my site without asking me? Through this plugin’s tools, only if you have switched on a write ability and the connected user’s role can publish. Nothing this plugin serves is exposed until you turn it on, and for this plugin’s tools the connected user’s role is the ceiling. Tools another plugin publishes to the Adapter’s default server are outside these checks. Force draft and a Contributor account each narrow it further.
Does Discard delete the post for good? No. Discard moves it to the Trash, so you can still restore it from there. If the Trash is off on your site, Discard is unavailable.
Will an agent’s edit to my existing draft show up on the card? No. The card lists posts an agent started, not posts it edited.
Is Force draft enough on its own? For new content created through this plugin’s tools, yes. For edits to live posts, no. Connect the agent as a Contributor, or accept that those edits publish as soon as they are made. The wider picture is in safety controls.