Changing the default editor changes what every author sees the next time they open a post. That makes it a different kind of edit from letting users pick their own.
editor/update-editor-settings sets both, runs the values through Classic Editor’s own validators, and reads them back afterwards — so a value Classic Editor would not accept is refused by name instead of stored and silently treated as classic.
At a glance
| Ability | editor/update-editor-settings |
| Toolset | Classic Editor — toolset/classic-editor |
| Group | Classic Editor › Editor Settings |
| Requires | Classic Editor, active on the site |
| Capability | manage_options |
| Safety | Writes data (changing the default needs confirm: true) |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
How it works
Pass editor to change the site-wide default, allow_users to turn user choice on or off, or both in one call.
Only a real change to the site default is gated. Setting the default to the value it already has, or only changing allow_users, runs without confirm.
The result lists which settings actually changed, and returns the effective settings afterwards.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
editor | string (classic or block) | No | The site-wide default editor. Changing it requires confirm: true. |
allow_users | boolean | No | Whether authors may choose their own editor and switch an individual post between them. |
confirm | boolean | When changing the default | Must be true to change the site-wide default editor. |
What comes back
| Name | Type | What it is |
|---|---|---|
changed | array | The names of the settings that actually changed. Empty when nothing did. |
settings | object | The effective settings after the update. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Make the block editor the default for everyone, but let authors switch back if they want.
It resolves to one call:
{
"ability": "editor/update-editor-settings",
"parameters": {
"editor": "block",
"allow_users": true,
"confirm": true
}
}Worth knowing
- With
allow_usersoff there is no per-post logic at all — every post opens in the site default, whatever it remembers. - A no-op is reported as “No change”, not as a success that did something.
- On multisite, a network lock on per-site settings still wins over anything set here.
Related abilities
- Get Editor Settings — read the effective state first
- Get Post Editor — check what a particular post will do afterwards
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category