Skip to content

Bundled plugins

Much of smelt's own behavior, such as /diff, compaction, session titles and input prediction, is implemented as Lua plugins using the same API available to you. Read them for working examples.

Autoloaded plugins can be switched off with smelt.builtins.disable({ plugins = { "<name>" } }) in early.lua.

Bundled with smelt. Drop a file under ~/.config/smelt/plugins/ to add your own.

Autoloaded

Loaded on every launch unless opted out via smelt.builtins.disable({ plugins = { "<name>" } }) in early.lua.

Plugin Summary
smelt.plugins.banner Empty-state logo decoration + shutdown logo/resume-hint banner.
smelt.plugins.compact Compacts older history while preserving a live recent suffix.
smelt.plugins.debug_panel F3 debug panel.
smelt.plugins.diff /diff: continuous, virtualized Git diff viewer.
smelt.plugins.esc_chord Esc-Esc: cancel in-flight foreground/background work (smelt.work.busy tokens, e.g. /compact), or rewind to the previous turn when idle.
smelt.plugins.goal Goal lifecycle plugin.
smelt.plugins.perf_panel F12 perf panel.
smelt.plugins.plan_mode Plan-mode plugin: registers the plan mode and present_plan tool.
smelt.plugins.predict Input prediction plugin.
smelt.plugins.process_control Ctrl-G: stop following a foreground bash job while it keeps running.
smelt.plugins.scroll_pills Clickable scroll-pill overlays navigate the transcript.
smelt.plugins.snake /snake (or F11) - snake in a floating window. hjkl or the arrows steer, space starts over, q, Esc or Ctrl-C closes.
smelt.plugins.terminal_title Keeps the terminal window/tab title in sync with smelt.
smelt.plugins.title Session title plugin.
smelt.plugins.turn_notifications Optional terminal desktop notification when an agent turn ends.
smelt.plugins.upgrade Autoupgrade plugin.
smelt.plugins.version /version - surface the running smelt build identity as a notification.

Opt-in

Shipped but not autoloaded. Add require("smelt.plugins.<name>") to ~/.config/smelt/init.lua to enable.

Plugin Summary
smelt.plugins.inspect Optional plugin: /inspect opens a local web UI for browsing sessions, their history, and provider request/response audit data.
smelt.plugins.lsp Optional LSP tool facade for agent code navigation.
smelt.plugins.which_key Which-key style popup for pending global Lua keymaps.