| id | cli_plugins |
|---|---|
| title | |
| sidebar_label | Plugins |
| toc_min_heading_level | 2 |
| toc_max_heading_level | 2 |
List all CLI plugins currently installed and visible to Leo.
leo pluginsInstalled plugins:
fmt /usr/local/bin/leo-fmtIf no plugins are found on your PATH:
No leo plugins detected on PATH.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 --checkis equivalent to:
leo-fmt --checkIf 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.
| Plugin | Crate | Description |
|---|---|---|
leo-fmt |
leo-fmt |
Format Leo source files |
leo-lsp |
leo-lsp |
Language server for editor integration |
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-lspPre-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.
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