Editor integrations #150

Open
opened 2026-02-16 17:25:25 -05:00 by yindo · 30 comments
Owner

Originally created by @net on GitHub (Jun 19, 2025).

Originally assigned to: @fwang on GitHub.

Editor integrations like Claude Code's VS Code extension or claudecode.nvim show diffs in the user's editor and sync context between the editor and agent.

I'm sure this is on the roadmap for opencode, but I couldn't find an existing issue so opening this as a feature request just to track it.

I don't think opencode ever needs to live inside say, neovim, but it would be nice if it could see what you have open and selected in neovim, and if it could display diffs in neovim.

Originally created by @net on GitHub (Jun 19, 2025). Originally assigned to: @fwang on GitHub. Editor integrations like Claude Code's VS Code extension or [claudecode.nvim](https://github.com/coder/claudecode.nvim) show diffs in the user's editor and sync context between the editor and agent. I'm sure this is on the roadmap for opencode, but I couldn't find an existing issue so opening this as a feature request just to track it. I don't think opencode ever needs to live inside say, neovim, but it would be nice if it could see what you have open and selected in neovim, and if it could display diffs in neovim.
Author
Owner

@joaomendoncaa commented on GitHub (Jun 20, 2025):

With how decoupled the TUI is, these integrations (i.e session management, and embed access) are so easy to create and so incredibly useful that I won't even spend my time coming up with my own little setup, I already know some legend is working on it, and whoever you are, we love you.

I'd look into lazygit; it does a pristine job and even covers a similar issue to #101, where it can make the floating lazygit window embed the theme colors from your nvim config.

@joaomendoncaa commented on GitHub (Jun 20, 2025): With how decoupled the TUI is, these integrations (i.e session management, and embed access) are so easy to create and so incredibly useful that I won't even spend my time coming up with my own little setup, I already know some legend is working on it, and whoever you are, we love you. I'd look into [lazygit](https://github.com/folke/snacks.nvim/blob/main/docs/lazygit.md); it does a pristine job and even covers a similar issue to #101, where it can make the floating lazygit window embed the theme colors from your nvim config.
Author
Owner

@Keyruu commented on GitHub (Jun 23, 2025):

This would be a killer feature. With Claude Code implementing this and this neovim plugin existing, it is hard to go back to opencode :D

@Keyruu commented on GitHub (Jun 23, 2025): This would be a killer feature. With Claude Code implementing this and [this neovim plugin](https://github.com/coder/claudecode.nvim) existing, it is hard to go back to opencode :D
Author
Owner

@dan-kez commented on GitHub (Jul 7, 2025):

Hey all - an editor integration to show diffs in Jetbrains (Pycharm specifically) / VScode would be extremely helpful for driving adoption.

I'm responsible for AI enablement in engineering at our company and one of the major driving factors for Claude Code's grassroots adoption was that it had multi editor integration. This helped python users using Pycharm have a great experience.

Showing diffs, being able to easily highlight and add context to the running instance would make this a real competitor for any IDE based tool (Junie, Cursor, Copilot, etc)

@dan-kez commented on GitHub (Jul 7, 2025): Hey all - an editor integration to show diffs in Jetbrains (Pycharm specifically) / VScode would be _extremely_ helpful for driving adoption. I'm responsible for AI enablement in engineering at our company and one of the major driving factors for Claude Code's grassroots adoption was that it had multi editor integration. This helped python users using Pycharm have a great experience. Showing diffs, being able to easily highlight and add context to the running instance would make this a real competitor for any IDE based tool (Junie, Cursor, Copilot, etc)
Author
Owner

@thdxr commented on GitHub (Jul 16, 2025):

starting on this next week

@thdxr commented on GitHub (Jul 16, 2025): starting on this next week
Author
Owner

@joaomendoncaa commented on GitHub (Jul 26, 2025):

@thdxr If I may add one suggestion, expose a way for nvim to listen to events like the start and end of a response (here's some inspiration).

Why is this useful? There's a lot of times I instinctively prompt and immediately switch context, so a sound notification when the response/agent ends so that you can jump back in w/o having to constantly check it is a life changer.

@joaomendoncaa commented on GitHub (Jul 26, 2025): @thdxr If I may add one suggestion, expose a way for nvim to listen to events like the start and end of a response [(here's some inspiration)](https://codecompanion.olimorris.dev/usage/events.html#list-of-events). Why is this useful? There's a lot of times I instinctively prompt and immediately switch context, so a sound notification when the response/agent ends so that you can jump back in w/o having to constantly check it is a life changer.
Author
Owner

@nickjvandyke commented on GitHub (Jul 27, 2025):

For Neovim, y'all might like my https://github.com/NickvanDyke/opencode.nvim. Open to suggestions!

Re diffs, I use mini.diff, specifically its overlay. imo there is a fine line between integration and re-invention that requires users learn Yet Another Tool, that also may not fit their preferences.

@nickjvandyke commented on GitHub (Jul 27, 2025): For Neovim, y'all might like my https://github.com/NickvanDyke/opencode.nvim. Open to suggestions! Re diffs, I use mini.diff, specifically its [overlay](https://github.com/echasnovski/mini.diff#overlay). imo there is a fine line between integration and re-invention that requires users learn Yet Another Tool, that also may not fit their preferences.
Author
Owner

@laughedelic commented on GitHub (Jul 27, 2025):

Please consider a Zed integration

@laughedelic commented on GitHub (Jul 27, 2025): Please consider a [Zed integration](https://zed.dev/docs/extensions/developing-extensions)
Author
Owner

@Keyruu commented on GitHub (Aug 13, 2025):

@thdxr Any updates on this? I saw an integration for VS Code, but nothing for Neovim yet.

@Keyruu commented on GitHub (Aug 13, 2025): @thdxr Any updates on this? I saw an integration for VS Code, but nothing for Neovim yet.
Author
Owner

@rekram1-node commented on GitHub (Aug 19, 2025):

@Keyruu one of our contributors has been working on a nvim extension: https://github.com/NickvanDyke/opencode.nvim

@rekram1-node commented on GitHub (Aug 19, 2025): @Keyruu one of our contributors has been working on a nvim extension: https://github.com/NickvanDyke/opencode.nvim
Author
Owner

@Keyruu commented on GitHub (Aug 20, 2025):

@rekram1-node Yeah I saw that and it is pretty cool, but not what I would want from an editor integration. I would want to see the diff of the changes opencode proposes and would want to approve them by saving the buffer. This also has the advantage of me making edits before opencode goes on. I am pretty satisfied with https://github.com/coder/claudecode.nvim.

@Keyruu commented on GitHub (Aug 20, 2025): @rekram1-node Yeah I saw that and it is pretty cool, but not what I would want from an editor integration. I would want to see the diff of the changes opencode proposes and would want to approve them by saving the buffer. This also has the advantage of me making edits before opencode goes on. I am pretty satisfied with https://github.com/coder/claudecode.nvim.
Author
Owner

@nickjvandyke commented on GitHub (Aug 20, 2025):

@Keyruu I'm not sure we can "pause" opencode on each edit? In which case imo it's not much better than making all the edits and then reviewing them with your diff tool of choice. Which btw you could hook into OpencodeEvents to trigger 🙂 FWIW the entire edit is one entry in the undotree, so it's easy to revert if you don't like the changes.

People have such vast preferences in git/diff workflows and I didn't want to force Yet Another Tool on users. But I'm definitely open to ideas that would make them easier to integrate!

Check out https://github.com/sudo-tee/opencode.nvim, it lets you accept/reject diffs 🙂

@nickjvandyke commented on GitHub (Aug 20, 2025): @Keyruu I'm not sure we can "pause" opencode on each edit? In which case imo it's not much better than making all the edits and then reviewing them with your diff tool of choice. Which btw you could hook into `OpencodeEvents` to trigger 🙂 FWIW the entire edit is one entry in the `undotree`, so it's easy to revert if you don't like the changes. People have such vast preferences in git/diff workflows and I didn't want to force Yet Another Tool on users. But I'm definitely open to ideas that would make them easier to integrate! Check out https://github.com/sudo-tee/opencode.nvim, it lets you accept/reject diffs 🙂
Author
Owner

@Keyruu commented on GitHub (Aug 20, 2025):

@Keyruu I'm not sure we can "pause" opencode on each edit? In which case imo it's not much better than making all the edits and then reviewing them with your diff tool of choice. Which btw you could hook into OpencodeEvents to trigger 🙂 FWIW the entire edit is one entry in the undotree, so it's easy to revert if you don't like the changes.

@NickvanDyke I haven't used opencode in a while, but I thought this would be what the permissions are for? So before the change is actually made, I had to approve it.
And for the point of it, making all the changes is better: In my experience, it is way easier to steer the AI at the earliest point for a better result.

@Keyruu commented on GitHub (Aug 20, 2025): > @Keyruu I'm not sure we can "pause" opencode on each edit? In which case imo it's not much better than making all the edits and then reviewing them with your diff tool of choice. Which btw you could hook into OpencodeEvents to trigger 🙂 FWIW the entire edit is one entry in the undotree, so it's easy to revert if you don't like the changes. @NickvanDyke I haven't used opencode in a while, but I thought this would be what the permissions are for? So before the change is actually made, I had to approve it. And for the point of it, making all the changes is better: In my experience, it is way easier to steer the AI at the earliest point for a better result.
Author
Owner

@nickjvandyke commented on GitHub (Aug 20, 2025):

@Keyruu ah you're right, thanks! I've been so focused on the plugin that I haven't totally kept up with opencode itself 😂

I see that the opencode server has an endpoint for responding to permission requests. I could probably listen for the corresponding SSE to get the permission ID and proposed changes.

But what does that add over focusing the TUI to accept/reject there, besides a slight convenience? My goal is to supplement the TUI with the editor, not replace it 😀

@nickjvandyke commented on GitHub (Aug 20, 2025): @Keyruu ah you're right, thanks! I've been so focused on the plugin that I haven't totally kept up with opencode itself 😂 I see that the [opencode server](https://github.com/sst/opencode/blob/dev/packages/opencode/src/server/server.ts#L722) has an endpoint for responding to permission requests. I could probably listen for the corresponding SSE to get the permission ID and proposed changes. But what does that add over focusing the TUI to accept/reject there, besides a slight convenience? My goal is to supplement the TUI with the editor, not replace it 😀
Author
Owner

@Keyruu commented on GitHub (Aug 20, 2025):

@NickvanDyke This has multiple benefits:

  • Biggest benefit is seeing the code in Neovim. With a small Chat window, I can't even see the whole change and it doesn't have the same syntax highlighting and LSP information.
  • Changing the buffer directly and then accepting the change. Telling opencode what I changed there.
  • Copying stuff out of the buffer and researching about the changes before they are made.
@Keyruu commented on GitHub (Aug 20, 2025): @NickvanDyke This has multiple benefits: - Biggest benefit is seeing the code in Neovim. With a small Chat window, I can't even see the whole change and it doesn't have the same syntax highlighting and LSP information. - Changing the buffer directly and then accepting the change. Telling opencode what I changed there. - Copying stuff out of the buffer and researching about the changes before they are made.
Author
Owner

@nickjvandyke commented on GitHub (Aug 20, 2025):

@Keyruu that's all fair! Right now I'm more excited about adding Next Edit Suggestions (including diff code that could help here), but I'll consider this 🙂 Thanks for your points!

@nickjvandyke commented on GitHub (Aug 20, 2025): @Keyruu that's all fair! Right now I'm more excited about adding Next Edit Suggestions (including diff code that could help here), but I'll consider this 🙂 Thanks for your points!
Author
Owner

@gt-solaris commented on GitHub (Sep 4, 2025):

Zed now allows bringing your own agents
https://zed.dev/docs/ai/external-agents

Please consider adding documentation on how to configure it. Using the same config as the VS code extension did not help

@gt-solaris commented on GitHub (Sep 4, 2025): Zed now allows bringing your own agents https://zed.dev/docs/ai/external-agents Please consider adding documentation on how to configure it. Using the same config as the VS code extension did not help
Author
Owner

@rekram1-node commented on GitHub (Sep 4, 2025):

@gt-solaris afaik that requires support of ACP and Dax mentioned they are in talks w/ Zed team on how to best approach this

@rekram1-node commented on GitHub (Sep 4, 2025): @gt-solaris afaik that requires support of [ACP](https://agentclientprotocol.com/overview/introduction) and Dax mentioned they are in talks w/ Zed team on how to best approach this
Author
Owner

@asvintheguy commented on GitHub (Sep 9, 2025):

Any updates on the vscode diff? It's the only feature from Claude Code I'm missing on opencode.

@asvintheguy commented on GitHub (Sep 9, 2025): Any updates on the vscode diff? It's the only feature from Claude Code I'm missing on opencode.
Author
Owner

@epicwhale commented on GitHub (Sep 24, 2025):

Any updates on the vscode diff? It's the only feature from Claude Code I'm missing on opencode.

totally agree with this sentiment.. being able to use this with VSCode diffs like CC, Gemini CLI, etc would be ace!

@epicwhale commented on GitHub (Sep 24, 2025): > Any updates on the vscode diff? It's the only feature from Claude Code I'm missing on opencode. totally agree with this sentiment.. being able to use this with VSCode diffs like CC, Gemini CLI, etc would be ace!
Author
Owner

@fwang commented on GitHub (Sep 24, 2025):

we should have some updates to the vscode extension soon

@fwang commented on GitHub (Sep 24, 2025): we should have some updates to the vscode extension soon
Author
Owner

@AbbasSrour commented on GitHub (Oct 19, 2025):

Is there anything planned for Jetbrains IDEs?

@AbbasSrour commented on GitHub (Oct 19, 2025): Is there anything planned for Jetbrains IDEs?
Author
Owner

@rekram1-node commented on GitHub (Oct 19, 2025):

if we get enough demand then it could be prioritized sooner but right now that’s not at the top of the list though eventually there will probably be one either by us or someone else will make one similarly to the neovim plugin that is mentioned above ^

@rekram1-node commented on GitHub (Oct 19, 2025): if we get enough demand then it could be prioritized sooner but right now that’s not at the top of the list though eventually there will probably be one either by us or someone else will make one similarly to the neovim plugin that is mentioned above ^
Author
Owner

@rekram1-node commented on GitHub (Nov 2, 2025):

Btw Jetbrains is adopting the ACP standard, we recently added this support.

Next week a Zed integration will be announced using ACP and this will make it really easy for us to do something similar for JetBrains or at least documenting how to use it @AbbasSrour

@rekram1-node commented on GitHub (Nov 2, 2025): Btw Jetbrains is adopting the ACP standard, we recently added this support. Next week a Zed integration will be announced using ACP and this will make it really easy for us to do something similar for JetBrains or at least documenting how to use it @AbbasSrour
Author
Owner

@ravshansbox commented on GitHub (Nov 2, 2025):

But to use opencode with acp, one needs to use it through editor's UI/UX which may not be ideal. We mostly need editor integration only to add recent/currently open files or selected lines to the context and to see the diff for confirmation.As an example, opencode over zed acp does not give the full experience of the opencode cli.

@ravshansbox commented on GitHub (Nov 2, 2025): But to use opencode with acp, one needs to use it through editor's UI/UX which may not be ideal. We mostly need editor integration only to add recent/currently open files or selected lines to the context and to see the diff for confirmation.As an example, opencode over zed acp does not give the full experience of the opencode cli.
Author
Owner

@TomasHubelbauer commented on GitHub (Jan 9, 2026):

You might find a lot more people checking out OpenCode today, see https://github.com/anthropics/claude-code/issues/17118. Is the current status that there is no VS Code integration? I am trying to find out how close OpenCode is to replicating Claude Code's workflow with the IDE diffs and IDE diagnostics integration.

@TomasHubelbauer commented on GitHub (Jan 9, 2026): You might find a lot more people checking out OpenCode today, see https://github.com/anthropics/claude-code/issues/17118. Is the current status that there is no VS Code integration? I am trying to find out how close OpenCode is to replicating Claude Code's workflow with the IDE diffs and IDE diagnostics integration.
Author
Owner

@altendky commented on GitHub (Jan 9, 2026):

there is a vscode extension. it's fairly thin. i've made some notes and implemented most of this https://github.com/anomalyco/opencode/issues/7275 locally. we'll see if i can get a couple bug fixes merged to get familiar with the process here and build enough cred to work through features etc.

@altendky commented on GitHub (Jan 9, 2026): there is a vscode extension. it's fairly thin. i've made some notes and implemented most of this https://github.com/anomalyco/opencode/issues/7275 locally. we'll see if i can get a couple bug fixes merged to get familiar with the process here and build enough cred to work through features etc.
Author
Owner

@LaiZhou commented on GitHub (Jan 13, 2026):

Hi everyone,

Inspired by the amazing work here, I’ve recently developed a JetBrains plugin for OpenCode to bring this powerful AI agent workflow into the JetBrains ecosystem (IntelliJ IDEA, PyCharm, WebStorm, etc.):

https://plugins.jetbrains.com/plugin/29744-opencode-ui

I wanted to share it with the community here in case anyone else is looking for a more integrated experience while using OpenCode.

Key Features:

  • Quick Launch: Instantly create or focus an "OpenCode" terminal session with a single shortcut (Cmd+Esc / Ctrl+Esc). The terminal only launches when you need it, keeping your workspace clean.

  • Context Sharing: Seamlessly send code selections or file references (including line numbers) from your editor or project view directly to the AI agent (Opt+Cmd+K).

  • Diff Review: Automatically review AI-generated code changes in chronological order using a native, multi-file diff viewer.

  • LocalHistory Protection: All "reject" operations automatically create recovery points, so you can always restore accidentally rejected changes.

@LaiZhou commented on GitHub (Jan 13, 2026): Hi everyone, Inspired by the amazing work here, I’ve recently developed a JetBrains plugin for OpenCode to bring this powerful AI agent workflow into the JetBrains ecosystem (IntelliJ IDEA, PyCharm, WebStorm, etc.): [https://plugins.jetbrains.com/plugin/29744-opencode-ui](https://plugins.jetbrains.com/plugin/29744-opencode-ui) I wanted to share it with the community here in case anyone else is looking for a more integrated experience while using OpenCode. **Key Features:** - Quick Launch: Instantly create or focus an "OpenCode" terminal session with a single shortcut (Cmd+Esc / Ctrl+Esc). The terminal only launches when you need it, keeping your workspace clean. - Context Sharing: Seamlessly send code selections or file references (including line numbers) from your editor or project view directly to the AI agent (Opt+Cmd+K). - Diff Review: Automatically review AI-generated code changes in chronological order using a native, multi-file diff viewer. - LocalHistory Protection: All "reject" operations automatically create recovery points, so you can always restore accidentally rejected changes.
Author
Owner

@sehwan505 commented on GitHub (Jan 21, 2026):

is there any update for this? I'm really waiting this feature...

@sehwan505 commented on GitHub (Jan 21, 2026): is there any update for this? I'm really waiting this feature...
Author
Owner

@Yimi81 commented on GitHub (Jan 22, 2026):

@fwang any update? I'm really waiting this feature, too

we should have some updates to the vscode extension soon

@Yimi81 commented on GitHub (Jan 22, 2026): @fwang any update? I'm really waiting this feature, too > we should have some updates to the vscode extension soon
Author
Owner

@HoangP8 commented on GitHub (Jan 30, 2026):

Hello! I wrote a simple plugin here: https://github.com/HoangP8/opencode-plugin-editor-diff
View changed files directly in your editor — from the TUI. Try it out!

@HoangP8 commented on GitHub (Jan 30, 2026): Hello! I wrote a simple plugin here: https://github.com/HoangP8/opencode-plugin-editor-diff View changed files directly in your editor — from the TUI. Try it out!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#150