anomalyco / anomalyco/opencode
[FEATURE]: assignable keyboard shortcut for the reasoning summaries toggle
@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.setShowReasoningSummariesdefinition: ~offset120858368- Settings UI switch (renderer): ~offsets
107283544and114374712 command.register("settings", ...)pattern withmod+commakeybind: ~offset123629997- DESKTOP_MENU
viewsubmenu (where the new item would belong): ~offset97637441
Acceptance criteria:
- A new command
reasoning.toggleis registered in the main app, in theviewcategory. - 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.showReasoningSummariesand 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.