fix(team): intercept permission_request regardless of native delivery status

When Claude Code runtime natively delivers permission_request to the
lead via stdout, the message was excluded from interception by the
nativeMatchedMessageIds filter. This caused the ToolApprovalSheet to
not appear for teammate requests.

Remove nativeMatchedMessageIds check from the permission_request
filter so interception works even for natively delivered messages.
This commit is contained in:
iliya 2026-03-27 18:12:58 +02:00
parent 924bcd8b99
commit 8ea470b1ae

View file

@ -4033,10 +4033,12 @@ export class TeamProvisioningService {
// Category 4: teammate permission requests — intercept and convert to tool approvals.
// Don't relay these to the lead agent (it can't handle them).
// NOTE: We intentionally do NOT exclude nativeMatchedMessageIds here — even if
// Claude Code runtime natively delivered the message to the lead, we still need
// to intercept permission_request and show the ToolApprovalSheet for the user.
const permissionRequestMsgs = unread.filter(
(m) =>
!permanentlyIgnoredIds.has(m.messageId) &&
!nativeMatchedMessageIds.has(m.messageId) &&
!deferredIds.has(m.messageId) &&
parsePermissionRequest(m.text) !== null
);