From ee36307495ea247e2eb6d2da7aedeb81cd37a734 Mon Sep 17 00:00:00 2001 From: Abhi <43648792+abhipatel12@users.noreply.github.com> Date: Wed, 24 Sep 2025 17:33:14 -0400 Subject: [PATCH] feat(cli): Enable model router by default and add to settings dialog (#9262) --- packages/cli/src/config/config.test.ts | 4 ++-- packages/cli/src/config/config.ts | 2 +- packages/cli/src/config/settingsSchema.test.ts | 2 +- packages/cli/src/config/settingsSchema.ts | 4 ++-- packages/cli/src/ui/components/SettingsDialog.test.tsx | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/cli/src/config/config.test.ts b/packages/cli/src/config/config.test.ts index ae9369d61b..3f8aff414b 100644 --- a/packages/cli/src/config/config.test.ts +++ b/packages/cli/src/config/config.test.ts @@ -1485,7 +1485,7 @@ describe('loadCliConfig model selection', () => { argv, ); - expect(config.getModel()).toBe('gemini-2.5-pro'); + expect(config.getModel()).toBe(DEFAULT_GEMINI_MODEL_AUTO); }); it('always prefers model from argvs', async () => { @@ -1803,7 +1803,7 @@ describe('loadCliConfig useRipgrep', () => { const argv = await parseArguments({} as Settings); const settings: Settings = {}; const config = await loadCliConfig(settings, [], 'test-session', argv); - expect(config.getUseModelRouter()).toBe(false); + expect(config.getUseModelRouter()).toBe(true); }); it('should be true when useModelRouter is set to true in settings', async () => { diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index 6b11abd427..c74a503c34 100755 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -587,7 +587,7 @@ export async function loadCliConfig( ); } - const useModelRouter = settings.experimental?.useModelRouter ?? false; + const useModelRouter = settings.experimental?.useModelRouter ?? true; const defaultModel = useModelRouter ? DEFAULT_GEMINI_MODEL_AUTO : DEFAULT_GEMINI_MODEL; diff --git a/packages/cli/src/config/settingsSchema.test.ts b/packages/cli/src/config/settingsSchema.test.ts index 4088151049..67757637ec 100644 --- a/packages/cli/src/config/settingsSchema.test.ts +++ b/packages/cli/src/config/settingsSchema.test.ts @@ -328,7 +328,7 @@ describe('SettingsSchema', () => { ).toBe('Experimental'); expect( getSettingsSchema().experimental.properties.useModelRouter.default, - ).toBe(false); + ).toBe(true); }); }); }); diff --git a/packages/cli/src/config/settingsSchema.ts b/packages/cli/src/config/settingsSchema.ts index b27f7465f2..64ce27d368 100644 --- a/packages/cli/src/config/settingsSchema.ts +++ b/packages/cli/src/config/settingsSchema.ts @@ -986,10 +986,10 @@ const SETTINGS_SCHEMA = { label: 'Use Model Router', category: 'Experimental', requiresRestart: true, - default: false, + default: true, description: 'Enable model routing to route requests to the best model based on complexity.', - showInDialog: false, + showInDialog: true, }, }, }, diff --git a/packages/cli/src/ui/components/SettingsDialog.test.tsx b/packages/cli/src/ui/components/SettingsDialog.test.tsx index e9d53b9f58..1c6d1c1de2 100644 --- a/packages/cli/src/ui/components/SettingsDialog.test.tsx +++ b/packages/cli/src/ui/components/SettingsDialog.test.tsx @@ -342,7 +342,7 @@ describe('SettingsDialog', () => { await wait(); - expect(lastFrame()).toContain('● Folder Trust'); + expect(lastFrame()).toContain('● Use Model Router'); unmount(); });