Before you can put a plugin back on an earlier version, you need to know which versions exist. WordPress itself will not tell you — it only ever knows about the latest release.
versions/list-asset-versions returns every release WordPress.org published for one installed plugin or theme, newest first, with the installed version marked and each entry labelled older, same or newer than it. That labelling is the point: an assistant choosing a rollback target does not have to compare version strings itself.
At a glance
| Ability | versions/list-asset-versions |
| Toolset | WP Rollback — toolset/wp-rollback |
| Group | Version Targeting › Versions & Pre-flight |
| Requires | Nothing. Reads WordPress.org through WordPress core |
| Capability | manage_options, plus update_plugins or update_themes |
| Safety | Read-only |
| Repeatable | Idempotent |
| Ships in | AcrossAI Abilities Manager 0.0.45 and later |
How it works
Pass type plus the identifier for that type — plugin takes a folder name, plugin file, display name or partial match; theme takes the stylesheet directory name.
It is paginated on purpose. Akismet alone publishes 94 releases, and returning all of them on every call would waste most of an assistant’s context for no benefit. The default page is 25, newest first.
Two entries you will not see. WordPress.org includes a trunk entry, which is whatever was last committed rather than a release — offering it as a rollback target would be offering a moving target, so it is excluded. And an asset the directory does not publish returns not_on_wordpress_org rather than an empty list, which is a different answer and worth distinguishing.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
type | string | Yes | plugin or theme. WordPress core is not covered. |
plugin | string | When type is plugin | Plugin file, folder name, display name or partial match. |
stylesheet | string | When type is theme | Theme directory name. |
limit | integer | No | Page size, 1–200. Default 25. |
offset | integer | No | Zero-based offset into the release list. Default 0. |
What comes back
| Name | Type | What it is |
|---|---|---|
versions | array | One entry per release: the version, its relation to what is installed, and whether it is the installed one. |
installed_version | string | What the site is running now. |
name / slug / type | string | The asset as resolved, so you can confirm the right thing was matched. |
total | integer | How many releases exist, not just how many were returned. |
limit / offset / has_more | mixed | Paging state, for fetching the rest. |
archived_versions | array | Versions this site holds a local archive of, listed separately — these need WP Rollback. |
error_code | string | not_on_wordpress_org for a premium or privately-hosted asset. |
Example
Ask your assistant:
What versions of Akismet can I go back to?
{
"ability": "versions/list-asset-versions",
"parameters": {
"type": "plugin",
"plugin": "akismet",
"limit": 10
}
}Worth knowing
- Works whether or not WP Rollback is installed — the release list comes from WordPress.org through WordPress core.
trunkis excluded. It is not a release.- A premium or privately-hosted asset returns
not_on_wordpress_org, which says something about the asset rather than reporting a failure. - An ambiguous plugin name is refused with the closest match named, rather than guessed at.
Related abilities
- Check Asset Rollback — pre-flight a specific version before moving
- Roll Back Plugin — apply one of these versions
- Get Rollback Status — what this site can re-version at all
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category