From edf7a5f9c574c8bd0091562d2112769ee8428a50 Mon Sep 17 00:00:00 2001 From: Jude Pereira Date: Sat, 21 Feb 2026 14:53:04 +0000 Subject: [PATCH 1/2] remove OPENCODE_SERVER_PASSWORD from the env after read --- packages/opencode/src/flag/flag.ts | 4 +++- packages/opencode/test/bun.test.ts | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/flag/flag.ts b/packages/opencode/src/flag/flag.ts index 0049d716d095..0e1d2beef8be 100644 --- a/packages/opencode/src/flag/flag.ts +++ b/packages/opencode/src/flag/flag.ts @@ -28,7 +28,9 @@ export namespace Flag { export declare const OPENCODE_DISABLE_PROJECT_CONFIG: boolean export const OPENCODE_FAKE_VCS = process.env["OPENCODE_FAKE_VCS"] export declare const OPENCODE_CLIENT: string - export const OPENCODE_SERVER_PASSWORD = process.env["OPENCODE_SERVER_PASSWORD"] + const password = process.env["OPENCODE_SERVER_PASSWORD"] + delete process.env["OPENCODE_SERVER_PASSWORD"] + export const OPENCODE_SERVER_PASSWORD = password export const OPENCODE_SERVER_USERNAME = process.env["OPENCODE_SERVER_USERNAME"] export const OPENCODE_ENABLE_QUESTION_TOOL = truthy("OPENCODE_ENABLE_QUESTION_TOOL") diff --git a/packages/opencode/test/bun.test.ts b/packages/opencode/test/bun.test.ts index d607ae47820f..2e309f88f952 100644 --- a/packages/opencode/test/bun.test.ts +++ b/packages/opencode/test/bun.test.ts @@ -51,3 +51,25 @@ describe("BunProc registry configuration", () => { } }) }) + +describe("Flag server password", () => { + test("removes OPENCODE_SERVER_PASSWORD from env on load", async () => { + const key = "OPENCODE_SERVER_PASSWORD" + const original = process.env[key] + process.env[key] = "secret" + + try { + const flagPath = path.join(__dirname, "../src/flag/flag.ts") + const tempPath = path.join(path.dirname(flagPath), `flag-${Date.now()}-${Math.random().toString(16).slice(2)}.ts`) + const content = await fs.readFile(flagPath, "utf-8") + await fs.writeFile(tempPath, content) + + const { Flag } = await import(tempPath) + expect(Flag.OPENCODE_SERVER_PASSWORD).toBe("secret") + expect(process.env[key]).toBeUndefined() + } finally { + if (original === undefined) delete process.env[key] + else process.env[key] = original + } + }) +}) From a37203c3f65ee48f2b7b326e610509acac2f8f2f Mon Sep 17 00:00:00 2001 From: Jude Pereira Date: Sat, 21 Feb 2026 15:00:01 +0000 Subject: [PATCH 2/2] Remove unnecessary temp variable --- packages/opencode/src/flag/flag.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/opencode/src/flag/flag.ts b/packages/opencode/src/flag/flag.ts index 0e1d2beef8be..09bb06f7f187 100644 --- a/packages/opencode/src/flag/flag.ts +++ b/packages/opencode/src/flag/flag.ts @@ -28,9 +28,8 @@ export namespace Flag { export declare const OPENCODE_DISABLE_PROJECT_CONFIG: boolean export const OPENCODE_FAKE_VCS = process.env["OPENCODE_FAKE_VCS"] export declare const OPENCODE_CLIENT: string - const password = process.env["OPENCODE_SERVER_PASSWORD"] + export const OPENCODE_SERVER_PASSWORD = process.env["OPENCODE_SERVER_PASSWORD"] delete process.env["OPENCODE_SERVER_PASSWORD"] - export const OPENCODE_SERVER_PASSWORD = password export const OPENCODE_SERVER_USERNAME = process.env["OPENCODE_SERVER_USERNAME"] export const OPENCODE_ENABLE_QUESTION_TOOL = truthy("OPENCODE_ENABLE_QUESTION_TOOL")