diff --git a/docs/get-started/configuration.md b/docs/get-started/configuration.md index d528e5398a..d62ee18bba 100644 --- a/docs/get-started/configuration.md +++ b/docs/get-started/configuration.md @@ -909,7 +909,7 @@ their corresponding top-level category object in your `settings.json` file. - **`hooksConfig.enabled`** (boolean): - **Description:** Canonical toggle for the hooks system. When disabled, no hooks will be executed. - - **Default:** `false` + - **Default:** `true` - **`hooksConfig.disabled`** (array): - **Description:** List of hook names (commands) that should be disabled. diff --git a/packages/cli/src/commands/hooks/migrate.test.ts b/packages/cli/src/commands/hooks/migrate.test.ts index 3f6f5317b4..847d7bc467 100644 --- a/packages/cli/src/commands/hooks/migrate.test.ts +++ b/packages/cli/src/commands/hooks/migrate.test.ts @@ -511,8 +511,5 @@ describe('migrate command', () => { expect(debugLoggerLogSpy).toHaveBeenCalledWith( '\nMigration complete! Please review the migrated hooks in .gemini/settings.json', ); - expect(debugLoggerLogSpy).toHaveBeenCalledWith( - 'Note: Set hooksConfig.enabled to true in your settings to enable the hook system.', - ); }); }); diff --git a/packages/cli/src/commands/hooks/migrate.ts b/packages/cli/src/commands/hooks/migrate.ts index f1fb56f970..1ced601052 100644 --- a/packages/cli/src/commands/hooks/migrate.ts +++ b/packages/cli/src/commands/hooks/migrate.ts @@ -244,9 +244,6 @@ export async function handleMigrateFromClaude() { debugLogger.log( '\nMigration complete! Please review the migrated hooks in .gemini/settings.json', ); - debugLogger.log( - 'Note: Set hooksConfig.enabled to true in your settings to enable the hook system.', - ); } catch (error) { debugLogger.error(`Error saving migrated hooks: ${getErrorMessage(error)}`); } diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index 31cf91412d..457d2b29ff 100755 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -763,7 +763,7 @@ export async function loadCliConfig( // TODO: loading of hooks based on workspace trust enableHooks: (settings.tools?.enableHooks ?? true) && - (settings.hooksConfig?.enabled ?? false), + (settings.hooksConfig?.enabled ?? true), enableHooksUI: settings.tools?.enableHooks ?? true, hooks: settings.hooks || {}, disabledHooks: settings.hooksConfig?.disabled || [], diff --git a/packages/cli/src/config/extension.test.ts b/packages/cli/src/config/extension.test.ts index 78433b6c79..7acaf2cc67 100644 --- a/packages/cli/src/config/extension.test.ts +++ b/packages/cli/src/config/extension.test.ts @@ -872,6 +872,7 @@ describe('extension tests', () => { ); const settings = loadSettings(tempWorkspaceDir).merged; + settings.hooksConfig.enabled = false; extensionManager = new ExtensionManager({ workspaceDir: tempWorkspaceDir, diff --git a/packages/cli/src/config/settingsSchema.ts b/packages/cli/src/config/settingsSchema.ts index cea502581d..3a953309dd 100644 --- a/packages/cli/src/config/settingsSchema.ts +++ b/packages/cli/src/config/settingsSchema.ts @@ -1646,7 +1646,7 @@ const SETTINGS_SCHEMA = { label: 'Enable Hooks', category: 'Advanced', requiresRestart: false, - default: false, + default: true, description: 'Canonical toggle for the hooks system. When disabled, no hooks will be executed.', showInDialog: false, diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index 2871b9fc30..8d72082c08 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -682,7 +682,7 @@ export class Config { ? false : (params.useWriteTodos ?? true); this.enableHooksUI = params.enableHooksUI ?? true; - this.enableHooks = params.enableHooks ?? false; + this.enableHooks = params.enableHooks ?? true; this.disabledHooks = params.disabledHooks ?? []; this.codebaseInvestigatorSettings = { diff --git a/schemas/settings.schema.json b/schemas/settings.schema.json index c94fc779c8..cb8d3a2311 100644 --- a/schemas/settings.schema.json +++ b/schemas/settings.schema.json @@ -1574,8 +1574,8 @@ "enabled": { "title": "Enable Hooks", "description": "Canonical toggle for the hooks system. When disabled, no hooks will be executed.", - "markdownDescription": "Canonical toggle for the hooks system. When disabled, no hooks will be executed.\n\n- Category: `Advanced`\n- Requires restart: `no`\n- Default: `false`", - "default": false, + "markdownDescription": "Canonical toggle for the hooks system. When disabled, no hooks will be executed.\n\n- Category: `Advanced`\n- Requires restart: `no`\n- Default: `true`", + "default": true, "type": "boolean" }, "disabled": {