From a76dca15de24234b41c645da58597d015bc6488e Mon Sep 17 00:00:00 2001 From: Jimmy Stridh Date: Wed, 3 Sep 2025 14:31:46 +0200 Subject: [PATCH 1/2] Add Long Context toggle for Sonnet model MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add Long Context toggle next to Plan First and Thinking Mode toggles - Toggle only appears when Sonnet or Default model is selected - When enabled with Sonnet, passes --model sonnet[1m] to Claude CLI - Automatically resets when switching to unsupported models 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- src/extension.ts | 11 ++++++++--- src/script.ts | 30 +++++++++++++++++++++++++++++- src/ui.ts | 4 ++++ 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index b27e2f5..a493afd 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -250,7 +250,7 @@ class ClaudeChatProvider { private _handleWebviewMessage(message: any) { switch (message.type) { case 'sendMessage': - this._sendMessageToClaude(message.text, message.planMode, message.thinkingMode); + this._sendMessageToClaude(message.text, message.planMode, message.thinkingMode, message.longContext); return; case 'newSession': this._newSession(); @@ -405,7 +405,7 @@ class ClaudeChatProvider { } } - private async _sendMessageToClaude(message: string, planMode?: boolean, thinkingMode?: boolean) { + private async _sendMessageToClaude(message: string, planMode?: boolean, thinkingMode?: boolean, longContext?: boolean) { const workspaceFolder = vscode.workspace.workspaceFolders?.[0]; const cwd = workspaceFolder ? workspaceFolder.uri.fsPath : process.cwd(); @@ -496,7 +496,12 @@ class ClaudeChatProvider { // Add model selection if not using default if (this._selectedModel && this._selectedModel !== 'default') { - args.push('--model', this._selectedModel); + let modelName = this._selectedModel; + // Add [1m] suffix for long context when enabled and supported + if (longContext && this._selectedModel === 'sonnet') { + modelName = 'sonnet[1m]'; + } + args.push('--model', modelName); } // Add session resume if we have a current session diff --git a/src/script.ts b/src/script.ts index 871f6ab..86c8b53 100644 --- a/src/script.ts +++ b/src/script.ts @@ -15,6 +15,7 @@ const getScript = (isTelemetryEnabled: boolean) => `