From bb33e281c09cd240f023e4bc5c85aa8df31f4f84 Mon Sep 17 00:00:00 2001 From: Shreya Keshive Date: Fri, 12 Dec 2025 11:42:49 -0500 Subject: [PATCH] fix(ide): Update IDE extension to write auth token in env var (#14999) --- packages/vscode-ide-companion/src/ide-server.test.ts | 12 +++++++++++- packages/vscode-ide-companion/src/ide-server.ts | 5 +++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/vscode-ide-companion/src/ide-server.test.ts b/packages/vscode-ide-companion/src/ide-server.test.ts index 794e7fb5c3..3fee4f6a17 100644 --- a/packages/vscode-ide-companion/src/ide-server.test.ts +++ b/packages/vscode-ide-companion/src/ide-server.test.ts @@ -108,7 +108,7 @@ describe('IDEServer', () => { await ideServer.start(mockContext); const replaceMock = mockContext.environmentVariableCollection.replace; - expect(replaceMock).toHaveBeenCalledTimes(2); + expect(replaceMock).toHaveBeenCalledTimes(3); expect(replaceMock).toHaveBeenNthCalledWith( 1, @@ -127,6 +127,12 @@ describe('IDEServer', () => { expectedWorkspacePaths, ); + expect(replaceMock).toHaveBeenNthCalledWith( + 3, + 'GEMINI_CLI_IDE_AUTH_TOKEN', + 'test-auth-token', + ); + const port = getPortFromMock(replaceMock); const expectedPortFile = path.join( '/tmp', @@ -254,6 +260,10 @@ describe('IDEServer', () => { 'GEMINI_CLI_IDE_WORKSPACE_PATH', expectedWorkspacePaths, ); + expect(replaceMock).toHaveBeenCalledWith( + 'GEMINI_CLI_IDE_AUTH_TOKEN', + 'test-auth-token', + ); const port = getPortFromMock(replaceMock); const expectedPortFile = path.join( diff --git a/packages/vscode-ide-companion/src/ide-server.ts b/packages/vscode-ide-companion/src/ide-server.ts index d25a322241..943e68f8fe 100644 --- a/packages/vscode-ide-companion/src/ide-server.ts +++ b/packages/vscode-ide-companion/src/ide-server.ts @@ -38,6 +38,7 @@ class CORSError extends Error { const MCP_SESSION_ID_HEADER = 'mcp-session-id'; const IDE_SERVER_PORT_ENV_VAR = 'GEMINI_CLI_IDE_SERVER_PORT'; const IDE_WORKSPACE_PATH_ENV_VAR = 'GEMINI_CLI_IDE_WORKSPACE_PATH'; +const IDE_AUTH_TOKEN_ENV_VAR = 'GEMINI_CLI_IDE_AUTH_TOKEN'; interface WritePortAndWorkspaceArgs { context: vscode.ExtensionContext; @@ -70,6 +71,10 @@ async function writePortAndWorkspace({ IDE_WORKSPACE_PATH_ENV_VAR, workspacePath, ); + context.environmentVariableCollection.replace( + IDE_AUTH_TOKEN_ENV_VAR, + authToken, + ); const content = JSON.stringify({ port,