From 33e459b8b456dfe2fcd355f81dde1ab82f59524e Mon Sep 17 00:00:00 2001 From: Gonzalo Riestra Date: Thu, 27 Nov 2025 19:36:24 +0100 Subject: [PATCH] Add a new SHOPIFY_CLI_USE_PARTNERS_API env var to allow using Partners API --- packages/cli-kit/src/private/node/constants.ts | 1 + .../cli-kit/src/public/node/environment.ts | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/packages/cli-kit/src/private/node/constants.ts b/packages/cli-kit/src/private/node/constants.ts index d76fba74700..732ace3106d 100644 --- a/packages/cli-kit/src/private/node/constants.ts +++ b/packages/cli-kit/src/private/node/constants.ts @@ -43,6 +43,7 @@ export const environmentVariables = { themeKitAccessDomain: 'SHOPIFY_CLI_THEME_KIT_ACCESS_DOMAIN', json: 'SHOPIFY_FLAG_JSON', neverUsePartnersApi: 'SHOPIFY_CLI_NEVER_USE_PARTNERS_API', + usePartnersApi: 'SHOPIFY_CLI_USE_PARTNERS_API', skipNetworkLevelRetry: 'SHOPIFY_CLI_SKIP_NETWORK_LEVEL_RETRY', maxRequestTimeForNetworkCalls: 'SHOPIFY_CLI_MAX_REQUEST_TIME_FOR_NETWORK_CALLS', } diff --git a/packages/cli-kit/src/public/node/environment.ts b/packages/cli-kit/src/public/node/environment.ts index 5e5b40a8c7e..ad1ce55c7e0 100644 --- a/packages/cli-kit/src/public/node/environment.ts +++ b/packages/cli-kit/src/public/node/environment.ts @@ -86,13 +86,21 @@ export function jsonOutputEnabled(environment = getEnvironmentVariables()): bool /** * If true, the CLI should not use the Partners API. * - * @returns True when SHOPIFY_CLI_NEVER_USE_PARTNERS_API is set or SHOPIFY_CLI_1P_DEV is not set. + * @returns True when the CLI should not use the Partners API. */ export function blockPartnersAccess(): boolean { - return ( - isTruthy(getEnvironmentVariables()[environmentVariables.neverUsePartnersApi]) || - !isTruthy(getEnvironmentVariables()[environmentVariables.firstPartyDev]) - ) + // Block if explicitly set to never use Partners API + if (isTruthy(getEnvironmentVariables()[environmentVariables.neverUsePartnersApi])) { + return true + } + + // If explicitly forcing to use Partners API, do not block + if (isTruthy(getEnvironmentVariables()[environmentVariables.usePartnersApi])) { + return false + } + + // Block for 3P devs + return !isTruthy(getEnvironmentVariables()[environmentVariables.firstPartyDev]) } /**