openclaw - ✅(Solved) Fix Control UI: tool cards remain collapsed even with verboseDefault=full [1 pull requests, 2 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#49944Fetched 2026-04-08 01:00:57
View on GitHub
Comments
2
Participants
3
Timeline
6
Reactions
0
Timeline (top)
referenced ×3commented ×2cross-referenced ×1

Tool cards in Control UI remain collapsed by default even when agents.defaults.verboseDefault is set to full.

Root Cause

Tool cards in Control UI remain collapsed by default even when agents.defaults.verboseDefault is set to full.

Fix Action

Fix / Workaround

Reproduction

  1. Set global verbose default to full (config patch):
    • agents.defaults.verboseDefault = "full"
  2. Start or continue a session in Control UI.
  3. Run any simple tool call (example):
    • echo TOOL_CARD_TEST_OK
  4. Observe the resulting tool card.

PR fix notes

PR #50034: fix(ui): expand tool cards when verboseDefault is full

Description (problem / solution / changelog)

Summary

Fixes #49944.

  • Tool <details> elements in Control UI always rendered collapsed regardless of the session's verboseLevel
  • Reads verboseLevel from the active session row and threads a toolsExpanded flag through renderMessageGrouprenderGroupedMessagerenderCollapsedToolCards
  • Conditionally sets the open attribute on all three tool-card <details> elements when verboseLevel === "full"

Test plan

  • 3 new unit tests in ui/src/ui/views/chat.test.ts covering collapsed-by-default, expanded tool cards, and expanded tool result collapse
  • All 29 existing chat tests pass
  • pnpm build succeeds
  • pnpm check (lint + format) passes
  • Manual: set agents.defaults.verboseDefault = "full", run a tool call in Control UI, verify cards render expanded

🤖 Generated with Claude Code

Changed files

  • src/gateway/session-utils.ts (modified, +1/-0)
  • src/gateway/session-utils.types.ts (modified, +1/-0)
  • ui/src/ui/chat/grouped-render.ts (modified, +16/-7)
  • ui/src/ui/types.ts (modified, +1/-0)
  • ui/src/ui/views/chat.test.ts (modified, +141/-0)
  • ui/src/ui/views/chat.ts (modified, +3/-0)
RAW_BUFFERClick to expand / collapse

Summary

Tool cards in Control UI remain collapsed by default even when agents.defaults.verboseDefault is set to full.

Environment

  • OpenClaw version: 2026.3.13
  • Runtime verbose mode: full (confirmed via session_status)
  • Surface: webchat / Control UI
  • Browser hard refresh performed

Reproduction

  1. Set global verbose default to full (config patch):
    • agents.defaults.verboseDefault = "full"
  2. Start or continue a session in Control UI.
  3. Run any simple tool call (example):
    • echo TOOL_CARD_TEST_OK
  4. Observe the resulting tool card.

Expected

Tool cards should be expanded by default (showing full content) when verbose default is full.

Actual

Tool cards are still collapsed by default.

Additional Notes

  • Multiple fresh test calls were made after hard refresh, including:
    • TOOL_CARD_TEST_AFTER_REFRESH
    • TOOL_CARD_TEST_1241
  • Behavior persisted consistently.
  • No visible UI toggle exists in this build to force default expanded state.

extent analysis

Fix Plan

The fix involves updating the Control UI to respect the agents.defaults.verboseDefault setting.

Steps to Fix

  • Update the tool-card component to check the agents.defaults.verboseDefault setting on render.
  • If the setting is full, set the tool card to an expanded state by default.

Example Code

// tool-card.js
import { useState, useEffect } from 'react';
import { getAgentsDefaults } from './agents';

const ToolCard = () => {
  const [isExpanded, setIsExpanded] = useState(false);
  const [verboseDefault, setVerboseDefault] = useState('');

  useEffect(() => {
    const fetchVerboseDefault = async () => {
      const defaults = await getAgentsDefaults();
      setVerboseDefault(defaults.verboseDefault);
    };
    fetchVerboseDefault();
  }, []);

  useEffect(() => {
    if (verboseDefault === 'full') {
      setIsExpanded(true);
    }
  }, [verboseDefault]);

  return (
    // tool card content
    <div className={`tool-card ${isExpanded ? 'expanded' : 'collapsed'}`}>
      // tool card content
    </div>
  );
};

Verification

  • Set agents.defaults.verboseDefault to full.
  • Start a new session in Control UI.
  • Run a tool call (e.g., echo TOOL_CARD_TEST_OK).
  • Verify that the tool card is expanded by default.

Extra Tips

  • Ensure that the getAgentsDefaults function is correctly fetching the agents.defaults.verboseDefault setting.
  • Test the fix with different agents.defaults.verboseDefault settings to ensure that the tool card behaves as expected.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix Control UI: tool cards remain collapsed even with verboseDefault=full [1 pull requests, 2 comments, 3 participants]