From 0d97bb47536e040400c3ad50b9b77e54cdea36bc Mon Sep 17 00:00:00 2001 From: Ben Brandt Date: Fri, 24 Oct 2025 12:19:41 +0200 Subject: [PATCH] Fix type holes in switch statements (#119) We were relying on unreachable to catch stuff for us, but it wasn't erroring because we were manually casting a few of the types to never, leading to a bug when a hook response was encountered. We'll revisit showing these hook responses to the user once ACP supports multiple types of status messages. --- src/acp-agent.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/acp-agent.ts b/src/acp-agent.ts index 73545bf6..774170e1 100644 --- a/src/acp-agent.ts +++ b/src/acp-agent.ts @@ -334,8 +334,11 @@ export class ClaudeAcpAgent implements Agent { break; case "compact_boundary": break; + case "hook_response": + // Todo: process via status api: https://docs.claude.com/en/docs/claude-code/hooks#hook-output + break; default: - unreachable(message as never); + unreachable(message); } break; case "result": { @@ -427,7 +430,7 @@ export class ClaudeAcpAgent implements Agent { break; } default: - unreachable(message as never); + unreachable(message); } } throw new Error("Session did not end in result");