Skip to main content
Version: 4.4.0

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 external plugin binaries. Plugins use the leo-<name> naming convention. Leo automatically finds them on your system PATH.

When a command does not match a built-in, Leo searches PATH for a leo-<name> binary and runs it. Leo sends the arguments without changes. 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 (for example leo-fmt-v4.1.0), so a plugin's version may differ from leo-lang.

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

Leo identifies each leo-<name> executable on PATH as a plugin. You can use any language to write a custom plugin. The requirements are:

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