-
Notifications
You must be signed in to change notification settings - Fork 13k
ACP mode tool confirmations are delayed by ~30s due to MessageBus timeout #17952
Copy link
Copy link
Closed
Closed
Copy link
Labels
area/non-interactiveIssues related to GitHub Actions, SDK, 3P Integrations, Shell Scripting, Command line automationIssues related to GitHub Actions, SDK, 3P Integrations, Shell Scripting, Command line automationhelp wantedWe will accept PRs from all issues marked as "help wanted". Thanks for your support!We will accept PRs from all issues marked as "help wanted". Thanks for your support!priority/p1Important and should be addressed in the near term.Important and should be addressed in the near term.
Metadata
Metadata
Assignees
Labels
area/non-interactiveIssues related to GitHub Actions, SDK, 3P Integrations, Shell Scripting, Command line automationIssues related to GitHub Actions, SDK, 3P Integrations, Shell Scripting, Command line automationhelp wantedWe will accept PRs from all issues marked as "help wanted". Thanks for your support!We will accept PRs from all issues marked as "help wanted". Thanks for your support!priority/p1Important and should be addressed in the near term.Important and should be addressed in the near term.
Type
Fields
Give feedbackNo fields configured for issues without a type.
What happened?
In ACP mode, tool confirmation requests are consistently delayed by ~30 seconds before the
session/request_permissionmessage is emitted. This delay happens every time, even for simple tool calls likerun_shell_commandwithls -al.What did you expect to happen?
Permission prompts should be emitted immediately (or without a fixed 30s delay), matching the normal CLI flow.
Client information
Platform: Linux (Ubuntu)
About output:
│ CLI Version 0.25.2 │
│ Git Commit 18e854c │
│ Model gemini-3-flash-preview │
│ Sandbox no sandbox │
│ OS linux │
│ Auth Method OAuth │
Login information
Logged in with: Google Account
Anything else we need to know?
Suspected cause: In ACP flow,
invocation.shouldConfirmExecute()callsgetMessageBusDecision()which waits 30s then defaults to ASK_USER. Normal CLI flow registers a MessageBus handler forTOOL_CONFIRMATION_REQUESTthat responds immediately. ACP integration seems to miss this, so it always hits the 30s timeout.Potential fix: Register the same immediate response handler in ACP integration (e.g., in
packages/cli/src/zed-integration/zedIntegration.ts), mirroring the scheduler behavior.