Skip to content

Support multiple concurrent permission requests (for multi-agent workflows) #164

Description

@ragu-manjegowda

Problem

When using oh-my-opencode or similar plugins that spawn multiple sub-agents in parallel, each agent can request permissions simultaneously (e.g., file edits, bash commands).

Currently, opencode.nvim only tracks a single permission at a time via state.current_permission. When a second permission arrives while one is pending, the plugin shows a warning and overwrites the first:

if state.current_permission and state.current_permission.id ~= permission.id then
    vim.notify('Two pending permissions? existing: ' .. state.current_permission.id .. ' new: ' .. permission.id)
    M.on_permission_replied({})
end
state.current_permission = permission

This makes multi-agent workflows unusable in neovim.

Requested Features

  1. Permission queue - Track multiple pending permissions, display them in a list, and allow accepting/denying each individually

  2. Per-agent cancel - Ability to cancel/reject a specific agent's request without affecting others

  3. Bulk actions - "Accept all" / "Deny all" for convenience

Current Workaround

Disabling all sub-agents in oh-my-opencode config, which defeats the purpose of multi-agent orchestration.

Environment

  • opencode: 1.0.220
  • opencode.nvim: f128f20
  • oh-my-opencode: 2.13.1
  • neovim: 0.11.5

PS: If possible, I greatly appreciate if you could integrate native support for oh-my-opencode

Activity

  1. sudo-tee commented on Jan 6, 2026

    @sudo-tee
    Owner

    This looks similar to #158

  2. sudo-tee commented on Jan 9, 2026

    @sudo-tee
    Owner

    @ragu-manjegowda I have redesigned the permission system to support multiple concurent permission.

    It's not ready to be merged yet as it was a pretty significant change.

    but If you have time to see if it does work for you let me know.

    #173

  3. ragu-manjegowda commented on Jan 9, 2026

    @ragu-manjegowda
    Author

    @sudo-tee thanks for the fix! It works exactly as expected!

    Here is the commit I tested,

      "opencode.nvim": { "branch": "feat/concurent-permissions", "commit": "0fae1c59b3d1fe1df38c89dc3b972b18d9a26dee" },
    
  4. sudo-tee commented on Jan 9, 2026

    @sudo-tee
    Owner

    Glad to hear this. I will do some final testing and merge this soon

  5. sudo-tee commented on Jan 12, 2026

    @sudo-tee
    Owner

    Should be fixed by #173

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