Repository navigation
OpenCode.nvim Feature Requests #136
Description
OpenCode.nvim Feature Requests
👋 Hello opencode.nvim Team!
First off, thank you for creating such an incredible Neovim integration! The opencode.nvim plugin has become an essential part of my daily development workflow, and I deeply appreciate all the hard work you've put into making OpenCode seamlessly accessible from Neovim.
These feature requests come from a place of genuine enthusiasm and a desire to contribute back to the project. I've been using opencode.nvim extensively and have built workarounds for some common pain points I've encountered while integrating it with my Neovim setup. Rather than keeping these solutions to myself, I wanted to share them in the hope they might benefit the wider community.
I've tried to be as thorough as possible with each request - including real code examples, use cases, and working implementations - but I'm completely open to alternative approaches. These are meant to be conversation starters, not prescriptions. I know you have a much deeper understanding of the plugin architecture and OpenCode integration, so please feel free to adapt, modify, or even reject these ideas as you see fit.
If any of these features align with your roadmap, I'd be happy to contribute PRs or help in any way I can. And if they don't fit the project's direction, that's totally fine too - I'm just grateful for the amazing plugin you've already built!
This directory contains feature request proposals for opencode.nvim, prioritized by impact and based on real-world usage patterns from this configuration.
Overview
These feature requests address common pain points when integrating OpenCode with custom Neovim setups. Each request includes:
- Clear problem statement from user perspective
- Current workarounds with code examples
- Proposed solutions with API designs
- Implementation considerations for maintainers
Feature Requests
| Priority | Feature | Status | Impact |
|---|---|---|---|
| 1 | UI Integration API | Draft | 🔥 High - Affects all custom status bar users |
| 2 | Focus Mode Integration | Draft | 🔥 High - Major UX improvement |
| 3 | Emergency Stop API | Draft | 🔥 High - Critical reliability feature |
| 4 | Diagnostics & Health System | Draft | ⚡ Medium - Reduces support burden |
| 5 | Provider Favorites | Draft | ⚡ Medium - Power user QoL |
| 6 | Quick Actions & Templates | Draft | 💡 Low - Workflow efficiency |
Current Workarounds
This configuration implements all requested features as workarounds:
plugins/ai/
├── opencode_ui_patches.lua # → Feature #1 (70 lines of monkey-patching)
├── opencode_integration.lua # → Feature #2 (165 lines managing LSP/features)
├── opencode_force_stop.lua # → Feature #3 (112 lines of manual cleanup)
├── opencode_diagnostics/ # → Feature #4 (561 lines across 4 modules)
│ ├── log_parser.lua
│ ├── health_ui.lua
│ ├── monitors.lua
│ └── init.lua
├── opencode_favorites.lua # → Feature #5 (51 lines custom picker)
└── opencode_build_mode.lua # → Feature #6 (48 lines quick helper)
Total workaround code: ~1,000 lines that could be replaced by clean APIs.
Why These Features?
Built from Real Usage
These requests aren't theoretical - they solve actual problems encountered during daily use:
- Monkey-patching breaks on updates → Need official UI customization API
- LSP popups interrupt AI generation → Need focus mode
- OpenCode occasionally gets stuck → Need emergency stop
- Hard to debug when things break → Need diagnostics system
- Switching models is tedious → Need favorites
- Repetitive prompts waste time → Need templates
Benefit Multiple User Groups
All Users:
- Emergency stop API (reliability)
- Diagnostics system (self-service debugging)
Custom Status Bar Users (lualine, heirline, etc.):
- UI integration API (eliminate monkey-patching)
Power Users:
- Focus mode (better UX)
- Provider favorites (faster workflows)
- Quick actions (efficiency)
Submitting to Upstream
When ready to submit:
- Choose priority order - Start with high-impact requests
- One issue per feature - Keep discussions focused
- Reference this config - Link to implementation as proof-of-concept
- Be flexible - Maintainers may prefer different API designs
- Offer to help - Propose contributing PRs if interested
Reference Implementation
Full working implementation available at:
- OpenCode Configuration - Complete plugin configuration
- Main README - Detailed module descriptions and documentation
Discussion
Each feature request is independent and can be discussed/implemented separately. Maintainers are welcome to:
- Propose alternative API designs
- Merge related features
- Split features into smaller chunks
- Prioritize differently based on upstream roadmap
Updates
- 2025-12-08: Initial feature requests created based on configuration refactoring
- Status updates will be tracked here as issues are submitted/resolved
Questions or feedback? Open an issue in this repository or discuss in the upstream opencode.nvim project.
Activity
sudo-tee commentedon Dec 8, 2025
I don't know what to think of this.
I feel that this request is an AI trying to find issues just for the sake of it.
Some things are interesting like favorites provider. But most of the other issues don't really make sense.
I don't mean to be rude or anything but I'm not interested in AI opening issues on this repo.
If there are things you really want please open a targeted request or bug.
romankovalov commentedon Dec 9, 2025
Hi! I apologize if confused you by "AI generation" of code and readme files, but I'm not brilliand in english and AI will describe everything better than me, but I manually tested all the configurations you can see by the liks, spent a lot of time
I respect you work, be sure
the issues when for example agent just stuck and do nothing, because some error happened withou any notifying - it is annoyng, and - it forces me to reopen nvim every time. though...
other options like customizations - I believe every nvim user like customize its nvim environment, colors, icons, places - that is why lualine exists. I did custom overrides to integrate tne opencode.nvim to lualine, it works, but took to much config lines
sudo-tee commentedon Dec 9, 2025
Ok sorry about this. I really tought an AI opened the issues.
For when the agent seems stuck you can hit
<C-c>in the panel.. If it does not work do it 3 times it will shutdown the server.and restart it. So you can continue to worksudo-tee commentedon Dec 9, 2025
I would prefer having seperate issues so it does not becomes an endless issue.
I could then decide on which one is important and which one is already covered
romankovalov commentedon Dec 9, 2025
I will do open separate issue as soon as I have time then - after tomorrow, I believe. So if you don't want to have endless issues, this one can be closed. Or keep it open like the general refference to others
I'll try to avoid AI texts in the future, thank you for your feedback
romankovalov commentedon Dec 29, 2025
@sudo-tee I have no time from that moment - a big amount of work and personal matters. Can't say when I will be able to review what has been changed and if my config actually works...
sudo-tee commentedon Jan 13, 2026
@romankovalov
You might be interested by the latest feature I merged where I added the Favorites and last used models to the models picker.
#182
It uses the same file as the opencode cli so they will work back and forth