fix(installer): reject invalid claude settings roots

This commit is contained in:
Affaan Mustafa
2026-03-27 07:59:19 -04:00
parent 9f37a5d8c7
commit d7e6bb242a
2 changed files with 24 additions and 0 deletions

View File

@@ -49,6 +49,9 @@ function mergeHooksIntoSettings(plan) {
if (fs.existsSync(settingsPath)) {
try {
settings = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
if (!settings || typeof settings !== 'object' || Array.isArray(settings)) {
throw new Error('root value must be a JSON object');
}
} catch (error) {
throw new Error(`Failed to parse existing settings at ${settingsPath}: ${error.message}`);
}