Agent Teams: Permission requests should show as native UI popups in VS Code extension, not as chat messages

Resolved 💬 2 comments Opened Apr 12, 2026 by asinghal-carey Closed Jun 4, 2026

Summary

When using experimental Agent Teams (CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1) in the VS Code extension, permission requests from sub-agents surface as raw teammate-message JSON cards in the chat window rather than as native interactive permission popup dialogs.

Expected Behavior

Sub-agent permission requests should render as the same interactive popup UI that the main Claude Code instance uses — with clear approve/deny buttons — consistent with the native tool permission UX.

Actual Behavior

Permission requests from agents appear as JSON blobs embedded in teammate-message chat cards, for example:

{
  "type": "permission_request",
  "request_id": "perm-1775954961402-3gzh0gb",
  "agent_id": "gitops",
  "tool_name": "Bash",
  "description": "Check branch status in databridge repo",
  "input": { "command": "cd /path/to/repo && git branch 2>&1" }
}

Users must type "approve" or "deny" in chat to relay approval back — there is no direct interactive UI element.

Environment

  • Claude Code VS Code Extension
  • Platform: macOS (Darwin 25.4.0)
  • Agent Teams: experimental (CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1)
  • Model: claude-sonnet-4-6

Impact

  • Poor UX for multi-agent workflows — users must parse raw JSON to understand what they are approving
  • No visual distinction between informational agent messages and actionable permission requests
  • Breaks the mental model of the permission system that users are accustomed to from single-agent sessions

Suggested Fix

Render agent team permission requests using the same native popup/dialog component used for main session tool approvals. The permission_request message type from teammate agents should be intercepted by the VS Code extension and displayed as a proper interactive UI element rather than passed through as raw chat content.

🤖 Filed via Claude Code

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗