diff --git a/src/web-server/routes/settings-routes.ts b/src/web-server/routes/settings-routes.ts index baaa73a9..dc4c5063 100644 --- a/src/web-server/routes/settings-routes.ts +++ b/src/web-server/routes/settings-routes.ts @@ -18,6 +18,7 @@ import { resetAuthToDefaults, } from '../../cliproxy'; import { regenerateConfig } from '../../cliproxy/config-generator'; +import { deduplicateCcsHooks } from '../../utils/websearch/hook-utils'; import type { Settings } from '../../types/config'; const router = Router(); @@ -136,6 +137,10 @@ router.put('/:profile', (req: Request, res: Response): void => { return; } + // Deduplicate CCS hooks to prevent accumulation (fixes #450) + // This handles cases where duplicate hooks were added by previous versions + deduplicateCcsHooks(settings as Record); + const ccsDir = getCcsDir(); // Check for missing required fields (warning, not blocking - runtime fills defaults)