Skip to content

OpenCode.nvim Feature Requests #136

Open

Description

@romankovalov

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:

  1. Choose priority order - Start with high-impact requests
  2. One issue per feature - Keep discussions focused
  3. Reference this config - Link to implementation as proof-of-concept
  4. Be flexible - Maintainers may prefer different API designs
  5. Offer to help - Propose contributing PRs if interested

Reference Implementation

Full working implementation available at:

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

  1. sudo-tee commented on Dec 8, 2025

    @sudo-tee
    Owner

    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.

  2. added
    invalidThis doesn't seem right
    wontfixThis will not be worked on
    on Dec 8, 2025
  3. romankovalov commented on Dec 9, 2025

    @romankovalov
    Author

    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

  4. sudo-tee commented on Dec 9, 2025

    @sudo-tee
    Owner

    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 work

  5. sudo-tee commented on Dec 9, 2025

    @sudo-tee
    Owner

    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

  6. removed
    invalidThis doesn't seem right
    wontfixThis will not be worked on
    on Dec 9, 2025
  7. romankovalov commented on Dec 9, 2025

    @romankovalov
    Author

    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

  8. romankovalov commented on Dec 29, 2025

    @romankovalov
    Author

    @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...

  9. sudo-tee commented on Jan 13, 2026

    @sudo-tee
    Owner

    @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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions