anomalyco / anomalyco/opencode

[FEATURE]: More control over mouse capture in TUI

Open
#43,676 3 comments 1 reaction 1 assignee View on GitHub

@simonklee is already working on this.

Since Aug 20, 2026.

Dominant language
TypeScript
Stars
209k
Forks
27.5k
PR merge metrics
PR metrics pending

Description

Feature hasn't been suggested before.
  • I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request

The current setting for mouse capture in TUI is to either have it enabled, or fully disable it.

I would like a more granular control over which features of the mouse capture I want to use.

For instance, instead of :

{
    ...
    "mouse": true, // or "mouse": false
}

I would like to be able to write :

{
    ...
    "mouse": {
        "scroll": true, // I want to use the mouse scrolling normally
        "select": false, // I DONT want opencode to override my terminal's select behavior, I have it customized how I like it (lots of users seem to complain of related selection issues)
        "click": true, // I want to use the click features to toggle subagents / thinking blocks / tool blocks
        "move_cursor_on_click": false // I DONT want opencode to move the cursor when I click around my text prompt
    }

Theses are the options I would personally need (and I'm sure a lot of people would like similar options) but I would not be opposed to have access to even more control if it makes sense.

Mouse capture is a pretty useful but invasive feature, which means that its difficult to live without it but it has a lot of drawbacks. In order to properly balance theses 2 aspects of it, users need as much control as possible over it.

For backward compatibility, "mouse": true or "mouse": false would just enable or disable every mouse feature as it currently does.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.