Skip to content

Plugins

Fern's plugin system lets you extend its behaviour with small Lua scripts. Plugins can add custom commands, respond to events, register keybindings, set periodic timers, and render custom fenced code blocks.

Two sources of plugins are available:

  • Fern-Terranium - the official plugin registry at codeberg.org/InodeLabs/fern-terranium. Plugins listed there can be browsed and installed directly from inside Fern without leaving the terminal.
  • Local plugins - directories you place in your plugins folder yourself, making it easy to write and test your own scripts.

Plugins installed through the :Plugin manager are approved automatically. Any plugin added to the plugins directory by other means (cloned manually, copied from elsewhere) is blocked until you explicitly approve it in the manager. Approval can also be revoked at any time. See Managing Plugins - Plugin approval.


  • Managing Plugins - enable plugins, use the :Plugin manager UI, install, remove, and approve plugins
  • Building a Plugin - step-by-step tutorial for writing your first Fern plugin in Lua
  • Fern's Lua API Reference - the full fern.* API reference for commands, keybindings, events, timers, vault queries, and more