Quick Start
1
See what plugins exist
2
Turn one on
3
Load it into the running process
Commands
List Plugins
praisonai plugins list shows the real, unified registry β every plugin the runtime can load, with its source.
Show only enabled plugins:
name, version, description, source, enabled, hooks, requests_conversation, conversation_granted):
Audit ungranted conversation plugins
Find third-party plugins that want conversation content but havenβt been granted it β their middleware silently no-ops until you addallow_conversation: true:
Plugin Info
Show details for one plugin by name:Use a real plugin name from
praisonai plugins list β the argument is a single plugin name, not a category.Enable Plugin
Enable one plugin. This writes to the config file the runtime actually reads β no separate JSON file.enable takes exactly one plugin name. To enable several, run the command once per plugin.Where enable/disable write
Bothenable and disable persist to the same file the runtime reads β the existing config, or .praisonai/config.yaml if none exists yet. Search order for the write target:
The enabled: true edge case
If plugins.enabled is set to a bare true (all plugins enabled):
enable <name>is a no-op β it leaves βall enabledβ intact.disable <name>raises aValueErrorwith the remediation: setplugins.enabledto an explicit list of plugin names first, then disable individual plugins.
Disable Plugin
Disable one plugin:disable also unloads a single-file pluginβs tools via unload_plugin(module_name) β not just its hooks. After disable, the pluginβs functions are gone from the registry for the rest of the run. Unload tracks only the tools that module contributed (via a pre-exec registry snapshot), so it never removes tools owned by another plugin or the core.Reload Plugins
Pick up a newly-added or edited plugin without restarting the process.reload unloads previously-loaded single-file plugins first (so an edited file is re-executed cleanly), then rediscovers everything and rewires enabled plugins into the runtime hook registry.
Output:
0 single-file), it prints a hint:
Add Plugin
Install a plugin package and verify it registered.plugins add page.
Create Plugin
Scaffold a new single-file plugin in.praisonai/plugins/.
create is the command praisonai plugins discoverβs empty-state hint prints β so the docs and the CLI now agree.Doctor
praisonai plugins doctor diagnoses enabled plugins and reports three issue types β it does not verify third-party dependencies.
Output is a Rich table (Plugin / Status / Issues) with a summary:
All N plugins healthy instead.
doctor also reports Pure Mode. When PRAISONAI_NO_PLUGINS is truthy it prints a yellow banner: βExternal plugins are suppressed for this run (βpure / PRAISONAI_NO_PLUGINS).β Otherwise it prints a dim tip: βTip: run any command with βpure / βno-plugins (or PRAISONAI_NO_PLUGINS=1) for a clean, plugin-free baseline.βPure Mode / Suppress Plugins for One Run
Skip plugin discovery for a single invocation without touching persisted state. The--pure flag (long alias --no-plugins) is available on run, chat, and code:
- --pure flag
- PRAISONAI_NO_PLUGINS
PluginManager(disabled=True) constructor param wins over the env var. The flag is scoped by the @scopes_no_plugins decorator β PRAISONAI_NO_PLUGINS is set only for the run and restored on return, so it never leaks into a later in-process call and never mutates .praisonai/config.yaml.
See Pure Mode for the full guide.
Security: Project-Plugin Trust Gate
A single-file plugin in./.praisonai/plugins/*.py can hook every lifecycle event and intercept every tool call, so running one from a cloned repo is gated by default.
- Default: closed. A cloned repo cannot run arbitrary project plugin code.
- User-global plugins in
~/.praisonai/plugins/remain trusted. - pip / entry-point plugins remain trusted.
.praisonai/config.yaml:
A separate boundary controls whether a loaded plugin may read or rewrite prompts and responses β third-party plugins need
allow_conversation: true. Audit ungranted plugins with the --json filter above, and see Plugins β Conversation-Content Capability Gate.Related
Plugins
Write, load, and configure plugins
plugins add
Install a plugin package and verify it registered
Skills CLI
Manage agent skills
Config File
Turn plugins on from
[plugins] in configConversation-Content Gate
Grant third-party plugins access to prompts and responses

