Skip to content

VSCode Extension: Dedicated Agent Tool Execution Display with Concurrent Agents Support #2514

@tanzhenxin

Description

@tanzhenxin

What would you like to be added?

The VSCode extension currently renders Agent tool calls (subagent executions) using a generic component that shows only raw text output without any structured progress or summary information. I would like a dedicated Agent tool display that provides:

  1. Real-time execution progress — show which tools the subagent is currently running with status indicators, similar to the terminal CLI experience
  2. Execution summary on completion — display tool call count, token usage, and duration in a clean format
  3. Error and cancellation states — clearly show when a subagent fails or is cancelled, with the reason
  4. Task description as header — display the task description (e.g., "Explore codebase for auth logic") as the tool call title
  5. Support for concurrent agents — when multiple subagents run simultaneously, each should be displayed independently with its own progress and status, allowing me to track parallel execution at a glance

Why is this needed?

When using Qwen Code in the terminal, the CLI provides a rich AgentExecutionDisplay that shows real-time subagent progress, current tool calls, and execution summaries. However, in VSCode, agent tool calls appear as opaque generic blocks with no visibility into what the subagent is doing or how it performed.

This is particularly important because:

  • Subagent usage is growing (Explore agent, general-purpose agents, user-defined agents)
  • The tool encourages launching multiple agents concurrently for better performance
  • Users in VSCode get a significantly degraded experience compared to terminal users
  • Without proper progress visibility, it's hard to tell if a long-running subagent is making progress or stuck

Additional context

The terminal CLI already has a full-featured implementation that could serve as a reference. The rawOutput field in tool call updates already carries all the necessary data including subagentName, taskDescription, status, toolCalls, and executionSummary.

The current VSCode extension routes agent tool calls to GenericToolCall because the agent tool's kind is 'other'. The data structure needed for rendering is already available — it just needs a proper UI component to display it.

Relevant files in the codebase:

  • CLI reference: packages/cli/src/ui/components/subagents/runtime/AgentExecutionDisplay.tsx
  • VSCode tool call router: packages/vscode-ide-companion/src/webview/components/messages/toolcalls/index.tsx
  • WebUI tool call components: packages/webui/src/components/toolcalls/

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions