leo plugins
List all CLI plugins currently installed and visible to Leo.
leo plugins
Installed plugins:
fmt /usr/local/bin/leo-fmt
If no plugins are found on your PATH:
No leo plugins detected on PATH.
Plugin System
Leo supports extending the CLI with external plugin binaries. Plugins follow the leo-<name> naming convention and are discovered automatically on your system PATH.
When you run a command that doesn't match a built-in, Leo looks for a leo-<name> binary on your PATH and delegates to it. Arguments are forwarded as-is. For example:
leo fmt --check
is equivalent to:
leo-fmt --check
If the plugin binary is not found, Leo prints an error:
'leo-fmt' not found. Install the plugin and ensure it is available on your PATH.
Available Plugins
| Plugin | Crate | Description |
|---|---|---|
leo-fmt | leo-fmt | Format Leo source files |
leo-lsp | leo-lsp | Language server for editor integration |
Installing Plugins
Plugins can be installed via cargo install or cargo binstall:
cargo install leo-fmt leo-lsp
# or, to download pre-built binaries:
cargo binstall leo-fmt leo-lsp
Pre-built binaries are also available from Leo releases. Each plugin crate is released independently under its own git tag (e.g. leo-fmt-v1.0.0).
For details on release artifacts, target platforms, and packaging guidelines, see the Binary Distribution Reference.
Running leo update will also attempt to update bundled plugins like leo-fmt on a best-effort basis.
Writing Custom Plugins
Any executable named leo-<name> on your PATH is discovered as a plugin. Custom plugins can be written in any language - the only requirements are:
- The binary is named
leo-<name>(e.g.leo-mytools) - The binary is located in a directory on your
PATH - The binary is executable