A 311 harness must stop Claude from running shell-exec during ticket triage. Which hooks control fits?
Select an answer to reveal the explanation.
Short Explanation
You need a harness hook that refuses shell-exec tools when Claude proposes them during ticket triage. That stops the dangerous tool call at the agent boundary before it can reach the host.
Full Explanation
Harness hooks are deterministic safety gates around Claude tool use. In a municipal 311 ticket-triage harness, shell-exec is a high-blast-radius capability: a mistaken or adversarial tool call can run arbitrary commands against city systems while an agent is parsing resident complaints. The correct control is a harness hook that refuses shell-exec tools when Claude proposes them during ticket triage, so unsafe execution never reaches the host even if the model asks for it. Use a harness hook that logs shell-exec proposals for review after ticket triage completes does not stop execution during triage; it only creates an after-the-fact record, leaving city systems exposed while review is pending. Use a harness hook that redacts shell-exec output in the transcript during ticket triage does not block the tool call itself; it only hides the output in the transcript after execution has already occurred. Use a harness hook that forwards shell-exec proposals to the supervisory queue during resident ticket triage shifts enforcement to a delayed queue and does not reliably prevent shell-exec from running during triage. Exam caveat: hooks are not a substitute for least-privilege OS accounts or network egress controls; they stop the tool call at the agent boundary. Operational check: attempt a triage prompt that requests a shell command and confirm the hook denies it, logs the refusal, and leaves the ticket workflow intact without spawning a process.