stevearc/overseer.nvim

A task runner and job management plugin for Neovim

1,926

stars

714

commits

Lua

primary language

May 24, 2026

updated

neovim
neovim-plugin
nvim
nvim-plugin

README

overseer.nvim

A task runner and job management plugin for Neovim

Features

  • Built-in support for many task frameworks (make, npm, cargo, .vscode/tasks.json, etc)
  • Simple integration with vim.diagnostic and quickfix
  • UI for viewing and managing tasks
  • Quick controls for common actions (restart task, rerun on save, or user-defined functions)
  • Extreme customizability. Very easy to attach custom logic to tasks
  • Define and run complex multi-stage workflows
  • Support for preLaunchTask when used with nvim-dap

Requirements

Installation

overseer supports all the usual plugin managers

lazy.nvim
{
  'stevearc/overseer.nvim',
  ---@module 'overseer'
  ---@type overseer.SetupOpts
  opts = {},
}
Packer
require("packer").startup(function()
  use({
    "stevearc/overseer.nvim",
    config = function()
      require("overseer").setup()
    end,
  })
end)
Paq
require("paq")({
  { "stevearc/overseer.nvim" },
})
vim-plug
Plug 'stevearc/overseer.nvim'
dein
call dein#add('stevearc/overseer.nvim')
Pathogen
git clone --depth=1 https://github.com/stevearc/overseer.nvim.git ~/.vim/bundle/
Neovim native package
git clone --depth=1 https://github.com/stevearc/overseer.nvim.git \
  "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/pack/overseer/start/overseer.nvim

Quick start

Add the following to your init.lua

require("overseer").setup()

To get started, all you need to know is :OverseerRun to select and start a task, and :OverseerToggle to open the task list.

https://user-images.githubusercontent.com/506791/189036898-05edcd62-42e7-4bbb-ace2-746b7c8c567b.mp4

If you don't see any tasks from :OverseerRun, it might mean that your task runner is not yet supported. There is currently support for VS Code tasks, make, npm, cargo, and some others.

If you want to define custom tasks for your project, I'd recommend starting with the tutorials.

Tutorials

Guides

Explanation

Third-party integrations

Recipes

Reference

Screenshots

https://user-images.githubusercontent.com/506791/180620617-2b1bb0a8-5f39-4936-97c2-04c92f1e2974.mp4

Contributors

(top 30 of 66)

stevearc

584 commits

emmanueltouzery

12 commits

chrisvander

10 commits

stevearc/overseer.nvim

A task runner and job management plugin for Neovim

1,926

stars

714

commits

Lua

primary language

May 24, 2026

updated

neovim
neovim-plugin
nvim
nvim-plugin

README

overseer.nvim

A task runner and job management plugin for Neovim

Features

  • Built-in support for many task frameworks (make, npm, cargo, .vscode/tasks.json, etc)
  • Simple integration with vim.diagnostic and quickfix
  • UI for viewing and managing tasks
  • Quick controls for common actions (restart task, rerun on save, or user-defined functions)
  • Extreme customizability. Very easy to attach custom logic to tasks
  • Define and run complex multi-stage workflows
  • Support for preLaunchTask when used with nvim-dap

Requirements

Installation

overseer supports all the usual plugin managers

lazy.nvim
{
  'stevearc/overseer.nvim',
  ---@module 'overseer'
  ---@type overseer.SetupOpts
  opts = {},
}
Packer
require("packer").startup(function()
  use({
    "stevearc/overseer.nvim",
    config = function()
      require("overseer").setup()
    end,
  })
end)
Paq
require("paq")({
  { "stevearc/overseer.nvim" },
})
vim-plug
Plug 'stevearc/overseer.nvim'
dein
call dein#add('stevearc/overseer.nvim')
Pathogen
git clone --depth=1 https://github.com/stevearc/overseer.nvim.git ~/.vim/bundle/
Neovim native package
git clone --depth=1 https://github.com/stevearc/overseer.nvim.git \
  "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/pack/overseer/start/overseer.nvim

Quick start

Add the following to your init.lua

require("overseer").setup()

To get started, all you need to know is :OverseerRun to select and start a task, and :OverseerToggle to open the task list.

https://user-images.githubusercontent.com/506791/189036898-05edcd62-42e7-4bbb-ace2-746b7c8c567b.mp4

If you don't see any tasks from :OverseerRun, it might mean that your task runner is not yet supported. There is currently support for VS Code tasks, make, npm, cargo, and some others.

If you want to define custom tasks for your project, I'd recommend starting with the tutorials.

Tutorials

Guides

Explanation

Third-party integrations

Recipes

Reference

Screenshots

https://user-images.githubusercontent.com/506791/180620617-2b1bb0a8-5f39-4936-97c2-04c92f1e2974.mp4

Contributors

(top 30 of 66)

stevearc

584 commits

emmanueltouzery

12 commits

chrisvander

10 commits

Languages

Lua

94.6%

Python

4.8%