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

FlagTypeDefaultMeaning
--pathslist—Extra folders (or bundles) to scan, comma-separated or repeated Repeatable.
--formatlistclap,vst3Plugin formats to look for: clap, vst3
--rescanflag—Probe every bundle again instead of trusting the cache
--watchdogtime—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

CodeMeaning
0Success
1Processing failed
2Usage or parameter error
3Input missing or unreadable
7Plugin crashed, timed out, or was not found
8Cancelled
70Internal error (bug)

Common mistakes

  • Beat-based times (4b, 1/4) need a tempo: pass --bpm or write 4b@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"}}