From 738b045e9b495ff5d5473abfa6fcbcb8497331fc Mon Sep 17 00:00:00 2001 From: Tran Quang Date: Sun, 29 Mar 2026 10:22:54 +0700 Subject: [PATCH] fix: use strict equality for claude_code flag checks Use `=== false` instead of falsy negation so that missing/undefined fields are not treated as explicitly disabled. Only skip ~/.claude/rules when all three flags are explicitly set to false. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/plugin/hooks/create-tool-guard-hooks.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/plugin/hooks/create-tool-guard-hooks.ts b/src/plugin/hooks/create-tool-guard-hooks.ts index 810d23215..2eba9eb30 100644 --- a/src/plugin/hooks/create-tool-guard-hooks.ts +++ b/src/plugin/hooks/create-tool-guard-hooks.ts @@ -91,10 +91,11 @@ export function createToolGuardHooks(args: { ? safeHook("empty-task-response-detector", () => createEmptyTaskResponseDetectorHook(ctx)) : null - const claudeCodeDisabled = pluginConfig.claude_code - && !pluginConfig.claude_code.hooks - && !pluginConfig.claude_code.skills - && !pluginConfig.claude_code.agents + const cc = pluginConfig.claude_code + const claudeCodeDisabled = cc != null + && cc.hooks === false + && cc.skills === false + && cc.agents === false const rulesInjector = isHookEnabled("rules-injector") ? safeHook("rules-injector", () => createRulesInjectorHook(ctx, modelCacheState, {