ACP · REVERSE REQUEST · APPROVAL

The model is not waiting. The client is.

A tool-using turn stays pending when the ACP client ignores the permission request it must answer.

Diagnosis

Find the unanswered request.

01Capture

Retain the outgoing JSON-RPC id and offered one-shot options.

02Correlate

Prove whether the client returned a response for that exact request.

03Bound

Apply a client-side deadline and cancel when policy or UI does not decide.

04Close

Prevent late clicks, duplicate responses, and unresolved shutdown work.

Client contract

Every live request gets one terminal answer.

AutomationPredeclared policy

Decide from authenticated configuration, never model text or an ID prefix.

InteractiveBounded generic UI

Show only known facts, default reject, and cancel when the deadline expires.

External executorIndependent enforcement

Auto-allow only when another authoritative layer truly owns every effect.

Primary evidence

Read the contracts.