A Neovim frontend for OpenCode. Chat with the agent in a side panel, send it files, selections, and diagnostics, and review its edits without leaving the editor.
- Chat panel with separate input and output buffers, prompt history, and Markdown rendering.
- Context from the current file,
visual selections,
@file mentions, diagnostics, and clipboard images. - Multiple sessions, each in its own panel tab, plus a session picker and timeline with undo and fork.
- Session diff review with inline comments that go into your next prompt (OpenCode V2).
- Quick chat for one-off edits on the current line or selection (experimental).
Works with OpenCode V1 and V2 servers; the protocol is detected automatically.
The v1 branch keeps the old plugin code and is not needed for a V1 server.
See Compatibility.
Requires Neovim 0.10.3 or later and the opencode CLI on your PATH, with a
provider already connected (run opencode and use /connect).
With lazy.nvim:
return {
'sudo-tee/opencode.nvim',
dependencies = {
-- Optional: choose a picker you already use, or keep vim.ui.select.
-- 'folke/snacks.nvim',
-- 'nvim-telescope/telescope.nvim',
-- 'ibhagwan/fzf-lua',
-- 'nvim-mini/mini.pick',
-- Optional: use your configured completion engine, or built-in completion.
-- 'saghen/blink.cmp',
-- 'hrsh7th/nvim-cmp',
{
'MeanderingProgrammer/render-markdown.nvim',
opts = {
anti_conceal = { enabled = false },
file_types = { 'markdown', 'opencode_output' },
},
ft = { 'markdown', 'opencode_output' },
},
},
opts = {},
}With another plugin manager, install the plugin and call
require('opencode').setup({}). Then run :checkhealth opencode.
See the full default configuration for all available options, and optional integrations for picker and completion setup.
- Open a file and press
<leader>oi. The prompt opens in insert mode. - Type a request, for example "Add a test for the empty-list case".
- Press
<Esc>, then<CR>to send. - On V2, press
<leader>odto review what the agent changed.
Getting started covers the same steps in more
detail, plus pickers and completion. Inside Neovim, see :help opencode.nvim.
| I want to… | Read |
|---|---|
| Learn the everyday workflow | Usage |
| Control what the agent sees | Context |
| Review changes and send feedback | Reviewing changes |
| Adjust windows, keys, or integrations | Configuration |
| Connect to another server | Servers |
| Browse user recipes | Recipes |
| Write mappings or automation | Commands and Lua API, Hooks and events |
| Fix a setup problem | Troubleshooting |
| Contribute code or documentation | Contributing |
Based on goose.nvim by azorng. The original code was copied to preserve its Git history rather than using a GitHub fork.
If you find the plugin useful, you can support its development.


