A plugin will not load or run
Reading the TVO-PLUGIN codes, and plugin doctor.
Written By Dustin
Last updated About 1 month ago
tovio plugin doctortovio plugin listtovio plugin bindingstovio explain pluginStart with doctor. It checks every manifest, every artifact's integrity, and every binding without executing anything, and exits non-zero if any of them is broken.
The local codes
009 and 010 are the two you are most likely to meet, because they are what a blocked tovio commit or tovio land reports. Both name which plugin blocked, which binding required it, what failed, that the result was local rather than CI-side or Forge-side, and whether an override is possible.
The post-event form of 013 is different in kind: the snapshot, land, or conflict record is already durable, so nothing was prevented. TOVIO records the failure in the signed audit chain and exits non-zero so CI observes it, but reverting or re-doing the operation is your decision, not something the plugin can force.
The common causes, in order
- Built without plugin execution. Not an error in itself โ your binary lacks the
plugins-wasmfeature. But a required enforcing binding in a lean build always blocks with010, because an un-runnable required gate is not allowed to pass silently. Rebuild with the feature. - Not bound.
plugin runexecutes under a binding, so mode and grants are well defined. With none, it refuses. Useplugin test <path> --event <event>to run a package without installing or binding it. - Missing
--event. Bothrunandtestrequire it. - A dangling binding. The plugin was removed, or reinstalled under a different id.
doctornames it. - An ungranted import. The guest reached for network, filesystem, or environment. Check what the manifest requests against what the binding grants.
On a Forge
014 โ an enforcing binding refused by organisation allow and deny policy. 015 โ a required plugin with no attested passing result for the current revision. 016 โ a hosted plugin registration refused at upload.
Before you share output
Plugin findings can quote file paths and code. Redact paths, hostnames, identity DIDs, and anything a finding excerpted from a file before pasting output into a support conversation. Secret-scan findings carry redacted previews rather than raw values, but the surrounding output is ordinary repository content.
Was this helpful?
More in Plugins
What a plugin can doInstall a pluginCheck a plugin before you trust itBind a plugin to an eventStill need help? Ask the team