Helix plugin FAQ

Does Helix support plugins?

Not in its official releases yet. Matthew Paras is developing the plugin system in pull request #8675⁠ using Steel⁠, a Scheme dialect made by him. The pull request hasn't been merged into master yet. To use plugins, you'll need to build Helix from that branch yourself, as described below.

How do I install plugins in Helix?

These steps are adapted from STEEL.md⁠ and the vim.hx README⁠.

1. Build Helix from the steel-event-system branch

git clone https://github.com/mattwparas/helix.git
cd helix
git checkout steel-event-system
cargo xtask steel

This builds and installs Helix with Steel support, as well as the steel executable, the Steel language server, and Steel's package manager forge. You'll need Rust⁠ installed for this.

2. Install the plugin with forge

For example, to install vim.hx:

forge pkg install --git https://github.com/mattwparas/vim.hx.git

Most plugins list the exact command in their README.

3. Require the plugin in init.scm

Add a line to the top of your init.scm to load the plugin. The path to require differs per plugin, so check its README. For vim.hx, it's:

(require "vim-hx/init.scm")

Some plugins need to be configured after requiring them. vim.hx, for example, also needs this line in init.scm:

(set-vim-keybindings!)

4. Reload the configuration

Restart Helix, or run :config-reload if it's already running.

Can I install Helix with Steel without building it myself?

On some systems, yes:

  • Arch Linux: the AUR package helix-steel-git⁠ builds the Steel branch for you. It replaces the regular helix package.
  • Nix: use the steelix package, and install plugins with helix-plugins-nix⁠ instead of forge. With Home Manager, you can also use nhx⁠, which installs and configures plugins and generates your init.scm.

Otherwise, you'll need to build it yourself.

Where can I find plugins?

Where is init.scm?

In Helix's config directory, next to config.toml:

  • Linux and macOS: ~/.config/helix/
  • Windows: %AppData%\helix\

Building Helix with cargo xtask steel creates it for you if it doesn't exist yet. If you can't find it, hx --health shows which config directory Helix uses.

What's the difference between init.scm and helix.scm?

Both live in Helix's config directory:

  • helix.scm is loaded first. Every function it provides becomes a typed command you can run with :.
  • init.scm runs right after it and has access to the editor, which is why that's where you require and configure plugins.

How do I update a plugin?

Install it again with --force:

forge pkg install --git https://github.com/mattwparas/vim.hx.git --force

Then restart Helix, or run :config-reload.

How do I uninstall a plugin?

Remove the plugin's lines from init.scm, then uninstall it with forge using its package name:

forge pkg uninstall vim-hx

For plugins installed with forge, the package name is the first part of the path you require. Run forge list to see the names of all installed packages.

Where does forge install plugins?

In the cogs directory inside Steel's home directory. Unless you've set the STEEL_HOME environment variable, that's:

  • Linux and macOS: ~/.local/share/steel/cogs
  • Windows: %UserProfile%\.steel\cogs

When will plugins be available in regular Helix?

There's no date yet. As of September 2026, pull request #8675⁠ is still a draft. Subscribe to it on GitHub to get notified when it's merged.

What are Steel, forge and cogs?

  • Steel⁠ is a Scheme implementation written in Rust, and the language Helix plugins are written in.
  • forge is Steel's package manager.
  • Cogs are Steel packages, which is why plugins have a cog.scm file describing their name and dependencies.

Are plugins safe to use?

Plugins are not sandboxed, so they run with the same permissions as Helix itself. This means they can read and change your files and run arbitrary programs. The plugins on this site are contributed by the community and aren't vetted, so only install plugins you trust.

How do I write my own plugin?

  • Start with the Writing a plugin⁠ section of STEEL.md, which covers setting up the Steel language server and the APIs available to plugins.
  • forge new scaffolds a new package.
  • Check the source code of some plugins to get examples of how the Steel plugin system works.

How do I get my plugin listed on this site?

Add a JSON file for it to the plugins directory of this site's GitHub repository⁠ and open a pull request. Once it's merged, the site rebuilds automatically.