Skip to content

W2.1 — Replace TooManyToolsWarning with DynamicToolsStatus #23

Description

@edelauna

Context

Once dynamic loading is on, the existing "Too many tools enabled" warning is wrong (most users will never see >50 tools attached at once — that's the point). It's also actively misleading because it suggests a problem when the system is working as designed. Replace it with a positive status indicator.

Partially closes: RooCodeInc#11155 (MCP tool calls clutter UI — by removing the dead warning).

Developer Notes

  • Replace webview-ui/src/components/chat/TooManyToolsWarning.tsx with DynamicToolsStatus.tsx (same slot, same hook surface).
  • Hook: useDynamicToolStatus() returns { attachedCount, totalScoped, mode: "all" | "dynamic" } from the new state slice the extension publishes (see W1.4 — the API tools array length is already known per turn).
  • Render rules:
    • mode === "all" (under threshold): render nothing.
    • mode === "dynamic": render "N of M MCP tools attached this turn" with a click-through that expands to show the attached tool names.
  • Remove i18n strings tied to the old warning (chat.tooManyTools.*); add new ones for the status indicator.
  • Files: webview-ui/src/components/chat/DynamicToolsStatus.tsx (new), webview-ui/src/hooks/useDynamicToolStatus.ts (new), delete TooManyToolsWarning.tsx and useTooManyTools hook.
  • Validation: with <50 tools enabled, no indicator visible; with >50, indicator shows accurate counts; click-through expands list and lists the tools currently in the API array.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions