Skip to main content

leo plugins

List all CLI plugins currently installed and visible to Leo.

leo plugins
console output:
Installed plugins:

fmt /usr/local/bin/leo-fmt

If no plugins are found on your PATH:

console output:
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

PluginCrateDescription
leo-fmtleo-fmtFormat Leo source files
leo-lspleo-lspLanguage 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:

  1. The binary is named leo-<name> (e.g. leo-mytools)
  2. The binary is located in a directory on your PATH
  3. The binary is executable