diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index 802232eac18b..b3dc114a3cd8 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -262,7 +262,8 @@ function custom(dep: CustomDep): Record { const awsBearerToken = iife(() => { const envToken = process.env.AWS_BEARER_TOKEN_BEDROCK if (envToken) return envToken - if (auth?.type === "api") { + // Only treat stored auth key as a bearer token when no IAM credentials exist. + if (auth?.type === "api" && !awsAccessKeyId && !profile) { process.env.AWS_BEARER_TOKEN_BEDROCK = auth.key return auth.key }