Skip to content

[FEATURE] Configurable per-tool-type display policy (show/collapse/hide) #35193

Closed as not planned

Description

@Qingyyx

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

Related existing issues

Describe the enhancement you want to request

Currently, OpenCode applies a single display strategy to all tool outputs — either show everything (default) or hide everything (/details toggle). There is no way to control display behavior per tool type.

For example:

  • Skill tools dump large instruction bodies into user messages with no way to collapse them ([FEATURE]: Collapse skill body in user message #33980).
  • MCP tools can be chatty internal plumbing that users don't need to see every time.
  • todowrite is already hardcoded as hidden (HIDDEN_TOOLS), but users cannot customize this.
  • edit/write/bash are the ones users typically want to see expanded.

I'd like a configurable per-tool-type display policy so each tool type can have its own default rendering: fully expanded, collapsed (click to expand), or completely hidden.

Proposed design

Add a tool_display section to opencode.json:

{
  "tool_display": {
    "default": "expanded",     // fallback for tools without an override
    "overrides": {
      "skill": "collapsed",    // skill calls: collapsed by default, expandable on click
      "mcp__*": "collapsed",   // all MCP tools: collapsed by default (glob pattern)
      "todowrite": "hidden",   // fully hidden (replaces current hardcoded HIDDEN_TOOLS)
      "edit": "expanded",      // always show edits
      "write": "expanded",     // always show writes
      "bash": "expanded"       // always show terminal output
    }
  }
}

Three display modes:

Mode Behavior
"expanded" Render output fully (current default)
"collapsed" Show only title/subtitle; click (or keyboard shortcut, per #14511) to expand inline
"hidden" Tool call not rendered at all (like current todowrite)

The overrides map supports glob patterns so that MCP tools (which have dynamic names like mcp__github__search) can be grouped under one rule.

Why this matters

Activity

  1. github-actions commented on Sep 3, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

  2. Paulu3 commented on Sep 24, 2026

    @Paulu3

    +1 from a daily desktop user — with #39944 and #7174 closed as not planned, a per-tool policy is the remaining route to a quieter timeline. I'd keep edits expanded and leave shell/read parts collapsed or hidden by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions