From ba8d4cc98ff67ef6a6a5e733dffd95a45ea17e87 Mon Sep 17 00:00:00 2001 From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com> Date: Wed, 8 Apr 2026 19:18:50 +0100 Subject: [PATCH] update: keep global install env pass-through when unchanged --- src/infra/update-global.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/infra/update-global.ts b/src/infra/update-global.ts index 31bee8fb838..dd6debeee39 100644 --- a/src/infra/update-global.ts +++ b/src/infra/update-global.ts @@ -171,10 +171,19 @@ export function resolveGlobalInstallSpec(params: { export async function createGlobalInstallEnv( env?: NodeJS.ProcessEnv, -): Promise> { +): Promise { const pathPrepend = await resolvePortableGitPathPrepend(env); + const sourceEnv = env ?? process.env; + const hasCorepackDownloadPromptSetting = Boolean( + sourceEnv.COREPACK_ENABLE_DOWNLOAD_PROMPT?.trim(), + ); + const requiresMergedEnv = + pathPrepend.length > 0 || process.platform === "win32" || !hasCorepackDownloadPromptSetting; + if (!requiresMergedEnv) { + return env; + } const merged = Object.fromEntries( - Object.entries(env ?? process.env) + Object.entries(sourceEnv) .filter(([, value]) => value != null) .map(([key, value]) => [key, String(value)]), ) as Record;