Manage plugins
Inspect bundled plugins, install external packages, control their lifecycle, and keep native grammar approval explicit.
Inspect what Red loaded
red --runtime-files
red --self-check
red plugin list--runtime-files shows visible plugins and themes with their source. --self-check reports the activation status of bundled plugins. red plugin list lists installed external packages.
Inspect plugins in the current session
In Red v0.9.1 and later, run :plugin-status or choose Plugin status from the command palette. The picker shows configured plugins as active, starting, loads on first use, disabled, or quarantined, and identifies rejected reloads. Problems appear first; the preview includes the full reason and recovery guidance.
Use this view when a plugin command is unavailable or an RPC plugin takes time to initialize. Startup notices explain which command is waiting, and executable failures include the underlying cause. red plugin list runs in a separate process and does not report the running editor's session state.
Install a package
red plugin catalog
red plugin install --catalog go-language
red plugin install owner/repository
red plugin install --path ~/code/my-red-pluginCatalog packages use immutable release archives with recorded checksums. GitHub and local-path sources remain explicitly unreviewed. Installing a package never grants implicit approval to execute a native Tree-sitter grammar.
Run plugins written in other languages
Starting with Red v0.9.0, external plugins can run as JSON-RPC processes over stdio. They can provide commands, panels, pickers, statusline content, and checked document edits. Install and manage these packages with the same red plugin commands as Husk packages; install any interpreter or executable required by the package separately.
Try JSON Workbench
JSON Workbench is an example JSON-RPC plugin for live jq previews, result exploration, and undoable transformations. It requires Python 3.9 or newer and jq on PATH. Install it separately from the versioned Red examples:
git clone --branch v0.9.0 --depth 1 https://github.com/codersauce/red.git red-plugin-examples
red plugin install --path ./red-plugin-examples/examples/rpc-json-workbenchRestart Red, open a JSON file, and run :JsonWorkbench. Edit the query document, run :JsonRun, or enable :JsonLive for previews as you edit. Use :JsonApply to apply a successful result, :JsonUndo to restore the source, and :JsonCancel to stop a live or panel preview. Foreground :JsonRun and :JsonQuery commands finish or reach their query timeout before another command can run in that plugin.
Enable, update, or remove a package
red plugin disable replay
red plugin enable replay
red plugin update replay
red plugin update --all
red plugin remove replay
red plugin remove replay --purgeOrdinary removal preserves the plugin's namespaced data for a later reinstall. --purge deletes that data as well. Failed updates leave the previous installation active.
Customize a bundled plugin
red --eject plugins/fidget.hkThe copy in your configuration directory shadows the bundled file. Remove the copy to return to the version shipped with Red.
Husk plugins that spawn processes through the host API need an explicit allowlist:
[plugin_permissions.project_search]
process = ["rg"]Starting with v0.9.0, external packages can also declare a standalone [rpc] process in red-plugin.toml and talk to Red over newline-delimited JSON-RPC 2.0 in any language. Write a JSON-RPC plugin in TypeScript or Python