Skip to content

fix(acp): keep unknown approvals actionable - #5430

Merged
maria-rcks merged 1 commit into
mainfrom
t3bot/fix-acp-unknown-approvals
Aug 6, 2026
Merged

fix(acp): keep unknown approvals actionable#5430
maria-rcks merged 1 commit into
mainfrom
t3bot/fix-acp-unknown-approvals

Conversation

@t3-code

@t3-code t3-code Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

what changed

  • map unrecognized ACP permission kinds to dynamic_tool_call
  • preserve existing execute, read, and file-change mappings
  • verify generic requests remain actionable in the web approval list

why

Cursor and Grok can send permission kinds outside our known set. Those requests were projected as pending but omitted by the client, leaving an Approval status with no card to resolve.

ui changes

No visual styling changes. Previously hidden generic approvals now use the existing command approval card.

checks

  • 63 focused ACP and session-logic tests
  • server and web typechecks
  • targeted formatting
  • git diff --check

Model: OpenAI (API model not exposed). Harness: T3bot.

Note

Map unknown ACP permission kinds to dynamic_tool_call instead of unknown

Unrecognized ACP permission kinds previously mapped to 'unknown' in canonicalRequestTypeFromAcpKind, making those approvals non-actionable. The default case in AcpCoreRuntimeEvents.ts now returns 'dynamic_tool_call', and the AcpCanonicalRequestType alias is updated to match. On the web side, dynamic_tool_call request types are derived as requestKind: 'command' pending approvals, so they surface correctly in the UI.

Macroscope summarized 2634697.


Note

Low Risk
Small mapping change in ACP event projection with tests; no auth or data-path changes.

Overview
Unrecognized ACP permission kinds (e.g. from Cursor/Grok) are no longer emitted as unknown runtime approvals. canonicalRequestTypeFromAcpKind now defaults to dynamic_tool_call, while execute/read/edit/delete/move mappings stay the same.

That lets the web client treat these like other pending approvals (via the existing command approval card) instead of showing Approval with nothing to act on.

Tests cover generic kinds on request.opened / request.resolved and derivePendingApprovals for dynamic_tool_call payloads.

Reviewed by Cursor Bugbot for commit 2634697. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Aug 5, 2026
@t3-code
t3-code Bot marked this pull request as ready for review August 6, 2026 05:07
@macroscopeapp

macroscopeapp Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved 2634697

Straightforward bug fix that remaps unknown ACP permission kinds from "unknown" to "dynamic_tool_call", making previously non-actionable approvals actionable in the UI. Changes are minimal (2 production lines) with corresponding test coverage.

You can customize Macroscope's approvability policy. Learn more.

@maria-rcks
maria-rcks merged commit 99d91dd into main Aug 6, 2026
21 checks passed
@maria-rcks
maria-rcks deleted the t3bot/fix-acp-unknown-approvals branch August 6, 2026 16:55
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Aug 7, 2026
## What's Changed
* fix(web): clarify auto permission fallback by @t3-code[bot] in pingdotgg/t3code#5431
* fix(acp): keep unknown approvals actionable by @t3-code[bot] in pingdotgg/t3code#5430
* fix(mobile): stop thread messages reading through pending cards by @carlosricojr in pingdotgg/t3code#5450
* fix(web): align composer inline chips with prompt text by @StiensWout in pingdotgg/t3code#5495
* fix(web): clear woke state on explicit thread actions by @StiensWout in pingdotgg/t3code#5486


**Full Changelog**: pingdotgg/t3code@v0.0.32-nightly.20260806.1015...v0.0.32-nightly.20260806.1018

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.32-nightly.20260806.1018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant