The requested Ability is not registered
An unregistered Ability has no permission record, so it is refused before policy is reached. Nothing executed.
- Abilities & permissions
- 3 min read
The three usual causes
- The name is wrong. Ability names are exact, including the provider prefix.
acme/update-postandacme/update_postare different strings. - The providing plugin is deactivated. Deactivating a plugin removes its Abilities from the registry. A workflow step naming one will now find nothing.
- Version mismatch. The agent was written against a provider version that registered a name the installed version does not.
How to check
Search the Ability Explorer for the exact name from the activity record. If it is not there, it is not registered — the Explorer shows the live registry, not a cached list.
Then check whether the provider plugin is active. If it was deactivated deliberately, the fix is in the agent’s configuration, not here.
This is no longer noisy
Earlier behaviour looked Abilities up in a way that wrote a WordPress “doing it wrong” notice when they were not registered, so a workflow step naming a deactivated plugin’s Ability logged a notice on every run. That is fixed — an unregistered Ability is now simply refused and recorded.
Abilities & permissions
Keep the boundary while you fix the problem.
A good fix restores intended behaviour without creating a second path around WordPress or the governed request lifecycle.
