Skip to content

feat(clients): MCP app approvals say what the tool does instead of printing raw JSON - #18105

Closed
MatthewFeroz wants to merge 2 commits into
pingdotgg:mainfrom
MatthewFeroz:feat/mcp-app-approval-details
Closed

MatthewFeroz wants to merge 2 commits into
pingdotgg:mainfrom
MatthewFeroz:feat/mcp-app-approval-details

fix(clients): keep large MCP approvals inspectable and cancel stale r…

f813846
Select commit
Loading
Failed to load commit list.
MacroscopeApp / Macroscope - Correctness Check succeeded Oct 11, 2026 in 45s

No issues identified (12 code objects reviewed).

• Reviewed files modified since 545eefe; other PR files not modified since then were skipped.
• Merge Base: b4542c5
• Head: f813846

Details

✅ File Path U3 Bytes Comments Posted Reason
✅ apps/web/src/components/ToolCallRequest.tsx 9964 0
✅ packages/client-runtime/src/mcpApps/toolCall.ts 3000 0
✅ apps/web/src/components/ToolCallRequest.logic.ts 358 0
➖ packages/client-runtime/src/mcpApps/toolCall.test.ts 1663 Excluded by macroscope ignore file
✅ apps/mobile/src/features/threads/McpAppToolApproval.tsx 7676 0
➖ apps/web/src/confirmDialog.test.ts 426 Excluded by macroscope ignore file
✅ apps/web/src/components/ConfirmDialogHost.tsx 3230 0
✅ apps/web/src/components/chat/McpAppFrame.tsx 917 0
✅ apps/web/src/confirmDialog.ts 541 0
✅ apps/mobile/src/features/threads/McpAppWebView.tsx 5966 0

Billed Total: 30.11KB of diff | $1.20

Filtered Issues Details

packages/client-runtime/src/mcpApps/toolCall.ts
  • line 60: argumentDescriptions is a normal {}, so a JSON schema property named __proto__ with a description silently loses its label at this assignment. MDN's Object.prototype.__proto__ documentation states that assigning a non-object/non-null value does nothing; text is a string here. The returned dictionary therefore does not contain that argument's description (and lookup returns the inherited prototype instead). Use a null-prototype dictionary or define own properties to preserve arbitrary schema argument names. [ Already posted ]