Skip to content

[ENHANCEMENT] Add a strict "Compact Mode" for tool usage UI to save vertical space #322

@melck

Description

@melck

Problem (one or two sentences)

When a tool is used, its UI block takes up a massive amount of vertical space, even when "collapsed" or reduced. Long tool descriptions (like MCP servers) and JSON payloads push the actual conversation out of view, completely breaking the chat readability.

Image

Context (who is affected and when)

Happens to all users during chat sessions where tools are frequently called (especially MCP tools with very long descriptions, like firecrawl). It makes reviewing the chat history and following the assistant's logic extremely tedious due to constant scrolling.

Desired behavior (conceptual, not technical)

Add a setting in the UI to force tool usages into a strictly "compact" or "ultra-minimized" mode by default. In this mode, a tool call should only display a single, thin line (e.g., [Tool used: firecrawl_scrape]) and completely hide the description, parameters, and payloads unless the user explicitly clicks to expand it.

Constraints / preferences (optional)

The setting should be global (e.g., a toggle in the settings menu). The single-line summary should still be clickable to expand the full details if the user needs to inspect the payload.

Request checklist

  • I've searched existing Issues and Discussions for duplicates
  • This describes a specific problem with clear context and impact

Zoo Code Task Links (optional)

No response

Acceptance criteria (optional)

Given the user is in a chat session,
When the assistant uses a tool (and compact mode is enabled),
Then the UI renders only a minimal single-line header for the tool execution.
And the tool's long description and JSON arguments remain completely hidden.
But the user can still click the header to expand and see the full details.

Proposed approach (optional)

Add a boolean setting compactToolUI in the extension settings. When true, apply a stricter collapsed state to the tool usage components, hiding the verbose description and arguments body.

Trade-offs / risks (optional)

Risk: Users might miss exactly what arguments the tool is using if it's hidden by default.
Mitigation: Make this an opt-in toggle in the settings, or ensure the expansion interaction is very obvious.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions