From 3dab7e045a23ea9787d8855193783f7e087f07f8 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 25 Aug 2026 20:57:30 +1000 Subject: [PATCH] fix: derive IdC OIDC region from device registration, not profile ARN --- src/plugin/sync/kiro-cli.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugin/sync/kiro-cli.ts b/src/plugin/sync/kiro-cli.ts index d5d33f9..9e52345 100644 --- a/src/plugin/sync/kiro-cli.ts +++ b/src/plugin/sync/kiro-cli.ts @@ -1,6 +1,6 @@ import Database from 'libsql' import { existsSync } from 'node:fs' -import { extractRegionFromArn, normalizeRegion } from '../../constants' +import { extractRegionFromArn, isValidRegion, normalizeRegion } from '../../constants' import { createDeterministicAccountId } from '../accounts' import * as logger from '../logger' import { kiroDb } from '../storage/sqlite' @@ -57,7 +57,10 @@ export async function syncFromKiroCli() { // serviceRegion wins over data.region: kiro-cli stores data.region as the // OIDC region (often us-east-1) regardless of where the account actually lives. const serviceRegion = extractRegionFromArn(profileArn) || normalizeRegion(data.region) - const oidcRegion = serviceRegion + const oidcRegion = + (isIdc && typeof deviceReg?.region === 'string' && isValidRegion(deviceReg.region) + ? deviceReg.region + : undefined) || serviceRegion const startUrl: string | undefined = typeof data.start_url === 'string' ? data.start_url