From b07130acc64c461dbcf60a2d7a500d72372cb20c Mon Sep 17 00:00:00 2001 From: Michel Tomas Date: Wed, 4 Feb 2026 15:14:06 +0100 Subject: [PATCH] fix: handle both boolean and string types for settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit JSON.parse preserves native types, so boolean true/false stay as booleans rather than strings. The previous check only handled string 'true', meaning users who set `"ENABLED": true` (boolean) wouldn't have the feature work. Now both `getBool()` helper and ResponseProcessor check handle: - String 'true' → enabled - Boolean true → enabled - Any other value → disabled Tested: Confirmed feature stays disabled with string "false" and no new CLAUDE.md files are created when accessing directories. --- src/services/worker/agents/ResponseProcessor.ts | 4 +++- src/shared/SettingsDefaultsManager.ts | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/services/worker/agents/ResponseProcessor.ts b/src/services/worker/agents/ResponseProcessor.ts index 48cf0809..c724fe06 100644 --- a/src/services/worker/agents/ResponseProcessor.ts +++ b/src/services/worker/agents/ResponseProcessor.ts @@ -219,7 +219,9 @@ async function syncAndBroadcastObservations( // This runs per-observation batch to ensure folders are updated as work happens // Only runs if CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED is true (default: false) const settings = SettingsDefaultsManager.loadFromFile(USER_SETTINGS_PATH); - const folderClaudeMdEnabled = settings.CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED === 'true'; + // Handle both string 'true' and boolean true from JSON settings + const settingValue = settings.CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED; + const folderClaudeMdEnabled = settingValue === 'true' || settingValue === true; if (folderClaudeMdEnabled) { const allFilePaths: string[] = []; diff --git a/src/shared/SettingsDefaultsManager.ts b/src/shared/SettingsDefaultsManager.ts index b2c6b524..5adc82dc 100644 --- a/src/shared/SettingsDefaultsManager.ts +++ b/src/shared/SettingsDefaultsManager.ts @@ -124,10 +124,11 @@ export class SettingsDefaultsManager { /** * Get a boolean default value + * Handles both string 'true' and boolean true from JSON */ static getBool(key: keyof SettingsDefaults): boolean { const value = this.get(key); - return value === 'true'; + return value === 'true' || value === true; } /**