anomalyco / anomalyco/opencode

[FEATURE]: assignable keyboard shortcut for the reasoning summaries toggle

Open
#49,582 1 comment 0 reactions 1 assignee View on GitHub

@Brendonovich is already working on this.

Since Sep 17, 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.

(Related but distinct: #48671 requests quick toggles for reasoning summaries in the main window UI; this request is about a keyboard shortcut / command palette entry for the existing settings toggle. No issue covers a shortcut for settings.general.showReasoningSummaries.)

Describe the enhancement you want to request

The setting "Show reasoning summaries" (in French UI: "Afficher les résumés de raisonnement"; internal key settings.general.showReasoningSummaries) can only be toggled from the Settings panel. There is no keyboard shortcut, no command palette entry, and no menu item for it. I would like a configurable keyboard shortcut to toggle this setting from anywhere in the app.

Use case: when working in a long session, I sometimes want to read the model's step-by-step reasoning and sometimes I want to skip it to focus on the final answer. Switching currently requires: open Settings (Ctrl+,) → scroll to the "Afficher les résumés de raisonnement" row → click the switch. That is three actions for something I want to do many times per session. A single keystroke would be ideal.

Suggested implementation: expose the toggle as a registered command (similar to how settings.open, terminal.toggle, fileTree.toggle, and sidebar.toggle are registered) so it appears in the command palette and accepts a keybind. Something like:

command.register("view", () => [{
  id: "reasoning.toggle",
  title: language.t("command.reasoning.toggle"),
  category: language.t("command.category.view"),
  onSelect: () => {
    const next = !settings.general.showReasoningSummaries();
    settings.general.setShowReasoningSummaries(next);
  }
}]);

Then add the matching desktop.menu.toggleReasoning item in the view submenu of DESKTOP_MENU (alongside toggleSidebar, toggleTerminal, toggleFileTree) and a command.reasoning.toggle translation key. Users could then assign their own keybind.

Why I cannot work around this myself: I tried to write a local plugin to register this command. The plugin API (@opencode-ai/plugin's PluginInput{ client, project, directory, $ }) does not give access to the settings store, so a plugin cannot call settings.general.setShowReasoningSummaries(...). The setting is also persisted in electron-store's binary opencode.global.dat (~/.config/ai.opencode.desktop/opencode.global.dat), so hand-editing the file is not viable. A native command in the main app is the only path.

Environment:

  • App: opencode desktop v1.18.30
  • OS: Linux Mint 22.3
  • File examined: /opt/OpenCode/resources/app.asar
  • Relevant code locations (offsets in the asar bundle, may shift between versions):
    • settings.general.setShowReasoningSummaries definition: ~offset 120858368
    • Settings UI switch (renderer): ~offsets 107283544 and 114374712
    • command.register("settings", ...) pattern with mod+comma keybind: ~offset 123629997
    • DESKTOP_MENU view submenu (where the new item would belong): ~offset 97637441

Acceptance criteria:

  • A new command reasoning.toggle is registered in the main app, in the view category.
  • The command appears in the command palette.
  • The command appears in the View menu (Affichage) of the app menu bar on macOS, Windows and Linux, with the same disabled-state logic as the other view toggles.
  • The keybind for the command is user-configurable from the Settings panel (same way as other commands, if the app supports custom keybinds; otherwise default to something like mod+shift+r).
  • Toggling the command flips settings.general.showReasoningSummaries and the change is reflected immediately in the chat timeline (no app restart required).

Note for maintainers: an earlier issue (#49372) was auto-closed for not using this template — this is the same request, resubmitted correctly.

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.