ferraus plugin scan
Find CLAP and VST3 plugins and cache their metadata
Synopsis
ferraus plugin scan [options]
What it does
Searches the standard plugin folders for this OS, the folders given with --paths, and every --sound-path folder. Each CLAP bundle is probed in a separate ferraus-plughost process, so a plugin that crashes on load cannot stop the scan; VST3 metadata comes from the bundle's moduleinfo.json. Results are cached in <cache>/plugins/scan.json keyed by path and modification time, so later scans only probe new or changed bundles.
Examples
Scan the standard plugin folders
ferraus plugin scan
Re-probe CLAP plugins in two extra folders and print the result as JSON
ferraus plugin scan --paths ~/plugins,/opt/clap --format clap --rescan --json
Scan one freshly built bundle, giving a slow plugin two minutes to load
ferraus plugin scan --paths ./build/MyPlugin.clap --watchdog 120s
Options
| Flag | Type | Default | Meaning |
|---|---|---|---|
--paths | list | — | Extra folders (or bundles) to scan, comma-separated or repeated Repeatable. |
--format | list | clap,vst3 | Plugin formats to look for: clap, vst3 |
--rescan | flag | — | Probe every bundle again instead of trusting the cache |
--watchdog | time | — | Stop the plugin host after this long without progress (default 60s, or FERRAUS_PLUGIN_WATCHDOG_S) |
Global options
Every command also accepts the global options (-o, --json, --dry-run, --overwrite, --progress, ...). See Global options.
Exit codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Processing failed |
| 2 | Usage or parameter error |
| 3 | Input missing or unreadable |
| 7 | Plugin crashed, timed out, or was not found |
| 8 | Cancelled |
| 70 | Internal error (bug) |
Common mistakes
- Beat-based times (
4b,1/4) need a tempo: pass--bpmor write4b@120.
For models
- MCP tool:
ferraus_plugin_scan - Schema:
ferraus schema plugin scan - Pipeline:
{ op: plugin scan, args: { ... } }(flag names with_instead of-) - fx stage: no
{"command": "plugin scan", "defaults": {"format": "clap,vst3"}}