anomalyco / anomalyco/opencode
[FEATURE]: Document tool-call visibility toggles in the opencode2 (V2) TUI and add a keybind + config default for hiding tool details
@simonklee is already working on this.
Since Aug 28, 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
Context
This is about the opencode2 (OpenCode 2 beta) client only — the new TUI that ships as the opencode2 binary. By default, every tool call (bash, read, write, edit, webfetch, …) is rendered as a large, fully-fleshed block in the session view, which makes sessions very noisy compared to older, more compact layouts.
Current behavior (verified in the V2 TUI)
There are two runtime toggles in the V2 command palette (Ctrl+P), but none of them are discoverable from the official docs:
- "Hide tool details" / "Show tool details" — hides all completed tool-call detail blocks (bash output, write/edit/read blocks), leaving a compact summary. Runtime state:
tool_details_visibility. - "Show generic tool output" / "Hide generic tool output" — controls whether "generic" tool output (MCP / plugin tools) is expanded into a block. Runtime state:
generic_tool_output_visibility. This one has a bindable keybind ID:session.toggle.generic_tool_output(default: unbound).
Problems
- Undocumented. A site search of the official V2 docs (
opencode.ai/v2) for "Hide tool details", "tool details" and "generic tool output" returns no results. The V2 CLI config page and the V2 keybinds reference do not mention these toggles at all (the keybinds reference listssession.toggle.thinking,session.toggle.scrollbar,session.toggle.exploration_grouping, but notsession.toggle.generic_tool_output, and no tool-details toggle). Users who search the docs simply cannot find how to turn off the tool-output blocks. - "Hide tool details" cannot be bound to a key. Only
session.toggle.generic_tool_outputhas a keybind ID. The "Hide tool details" toggle is command-palette-only; binding it explicitly incli.jsonis rejected as an unknown command ID. So there is no way to quickly collapse/hide tool output with the keyboard. - No config-file default. Both toggles are runtime-only preferences (persisted under
state/kv.json); they cannot be set as defaults incli.json/opencode.json. This means every new environment/install starts in the noisy default state, and non-developer or quiet-mode users have to manually toggle it once via the command palette.
Requests
- Document both command-palette toggles in the official V2 docs (CLI config + keybind reference), including the
session.toggle.generic_tool_outputkeybind ID. - Add a bindable keybind for the "Hide tool details" toggle (mirroring
session.toggle.generic_tool_output), so users can collapse/hide tool output from the keyboard. - Ideally, allow setting these visibilities as defaults in
cli.json(e.g.tool_details_visibility: falseor atool_details-style option) so a fresh install can default to a quieter session view.
Related (legacy client, for reference, not the subject of this issue)
Older discussions about collapsible/hideable tool output (#14511, #17250, #19074) and a docs/behavior mismatch (#16062) targeted the pre-opencode2 client and were closed. This issue is specifically about the current V2 client (opencode2) and its docs.
Environment
- opencode2 version: v0.0.0-beta-18414 (OpenCode 2 beta)
- OS: macOS (Darwin 27.0.0, arm64 / MacBook Pro M3)
- Terminal: Ghostty
- Shell: /bin/zsh
- Plugins: opencode-supermemory@latest
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.