claude-code - 💡(How to fix) Fix Batch permission triage UI for multiple pending tool-approval prompts across sessions

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…

Root Cause

This failed because the Claude desktop app (Electron-based) does not expose its renderer accessibility tree to external tools — even with AXManualAccessibility = true set, the sidebar / popup / button elements are invisible to assistive tech. We could only see ~14 unnamed `AXGroup` elements. The only viable fallback is screenshot-based pixel detection, which is fragile against UI updates.

RAW_BUFFERClick to expand / collapse

Problem

Power users of the Claude desktop app (the GUI that wraps Claude Code) routinely run multiple agent sessions in parallel — each in a different project directory, each potentially issuing tool calls that require user approval.

Today, when 3–5 sessions are simultaneously paused waiting for an "Allow Claude to run X?" decision, the user has to:

  1. Notice the brown indicator dot in the sidebar (only visible when looking at sidebar)
  2. Click into each session one by one
  3. Read the prompt, decide, click Allow once / Always allow / Deny
  4. Repeat for every pending session

This becomes a significant interruption tax when running multi-session workflows (e.g., one agent doing research, another writing code, another managing files). The user's flow is broken into many micro-decisions across windows.

Concrete scenario

User opens 5 Claude Code sessions: keke, xiaoke, PM, claude-ob, Skills. Each is a long-running agent on a different codebase. Within a 2-minute window, 3 of them hit a tool-permission gate (a bash call, a file edit, an MCP tool). All 3 sidebar items turn brown. The user must:

  • Click keke → read prompt → ⌘↵ → wait for next prompt
  • Click xiaoke → read prompt → ⌘↵
  • Click PM → read prompt → ⌘↵

This takes 30–60 seconds of context-switching for what could be a single batched decision.

Why third-party tooling can't solve this

We attempted to build a menu-bar utility (via macOS Accessibility API and Hammerspoon) that would:

  • Detect which sessions have pending prompts
  • Show a unified batch-approval panel
  • Send keyboard events to dismiss them

This failed because the Claude desktop app (Electron-based) does not expose its renderer accessibility tree to external tools — even with AXManualAccessibility = true set, the sidebar / popup / button elements are invisible to assistive tech. We could only see ~14 unnamed `AXGroup` elements. The only viable fallback is screenshot-based pixel detection, which is fragile against UI updates.

This is presumably an intentional security posture, which is reasonable. But it means only Anthropic can build a clean fix for this.

Proposed solutions (in order of effort)

Option A — Lightweight: Global pending count + jump shortcut (low effort, high value)

  • Show a numeric badge on the Claude app menu bar/dock icon: "3 pending approvals"
  • Add a keyboard shortcut (e.g., ⌘⇧A) that cycles through pending sessions
  • This alone would save 80% of the friction

Option B — Native batch triage panel (medium effort, ideal UX)

  • Add a "Pending Approvals" view (accessible via menu bar dropdown or ⌘P)
  • Lists all sessions awaiting approval with: session name, tool being invoked, the actual command/diff
  • Provides bulk actions: Allow all once, Allow selected, Deny selected
  • Lets the user uncheck individual rows before applying

Option C — Accessibility opt-in (let third parties solve it)

  • Add a developer/power-user preference: "Expose accessibility tree to assistive technology"
  • Off by default (preserves current security stance)
  • When on, external menu-bar utilities can build the UX themselves

Any of these would dramatically improve the parallel-session experience. Option A is probably the smallest shippable win.

Impact

Multi-session workflows are an increasingly common use pattern — especially as Claude Code matures and users run multiple specialized agents simultaneously. This friction compounds: 5 sessions × 10 approvals/hour × 15 seconds each = ~12.5 minutes/hour lost to context switching.

A batch triage UI would turn Claude desktop from "many narrow assistants you supervise one-by-one" into "an agent fleet you orchestrate from one console" — which feels closer to where Anthropic seems to be heading product-wise (Routines, Tasks panel, Code mode).

Environment

  • macOS 26.4.1
  • Claude desktop app v1.6608.2 (Electron 41.5.0)
  • Typical session count: 5–10 in parallel

Submitted by a Claude Code power user running multi-agent workflows daily. Happy to provide more data on session counts / approval frequency / specific workflow patterns if helpful.

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