Skip to content

[Story] Replace TooManyToolsWarning with DynamicToolsStatus indicator #581

@edelauna

Description

@edelauna

Context

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

Depends on #578. Partially closes: RooCodeInc/Roo-Code#11155.

Developer Notes

  • Replace `webview-ui/src/components/chat/TooManyToolsWarning.tsx` with `DynamicToolsStatus.tsx` in the same slot.
  • New hook `useDynamicToolStatus()` returning `{ attachedCount, totalScoped, mode: "all" | "dynamic" }`, sourced from the state slice [Story] Threshold gate and Task.attachedMcpToolNames #578 publishes (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 list the attached tool names.
  • Remove i18n strings tied to the old warning (`chat.tooManyTools.*`); add new strings for the status indicator.
  • Delete `TooManyToolsWarning.tsx` and the `useTooManyTools` hook.

Acceptance Criteria

  • With fewer tools than threshold: no indicator visible
  • With dynamic loading active: indicator shows accurate attached/total counts
  • Click-through expands to list currently attached MCP tools
  • Old `TooManyToolsWarning` component and hook deleted
  • i18n strings updated

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