github/copilot-sdk · error

Unsupported Copilot CLI architecture

Error message

Unsupported Copilot CLI architecture: ${arch}.

What it means

getRuntimePlatform maps process.platform/process.arch to a runtime platform triple and only supports x64 and arm64 architectures. Any other arch (e.g. arm, ppc64, s390x, 32-bit x86) is rejected with this error because no prebuilt Copilot CLI runtime exists for it.

Solutions

  1. Run under a 64-bit OS with an x64 or arm64 Node build.
  2. Use an officially supported machine/container image (linux/darwin/win32 on x64/arm64).
  3. If emulating, ensure Node reports x64 or arm64 (check process.arch).
  4. File/await an upstream request for prebuilt binaries on the target arch; there is no source-build fallback.

Example fix

// before
$ node -p process.arch
arm

// after
# install 64-bit OS and arm64 Node
$ node -p process.arch
arm64
Defensive patterns

Strategy: validation

Validate before calling

const SUPPORTED_ARCH = new Set(['x64', 'arm64']);
if (!SUPPORTED_ARCH.has(process.arch)) throw new Error(`unsupported arch: ${process.arch}`);

Type guard

function isSupportedArch(arch: string): arch is 'x64' | 'arm64' { return arch === 'x64' || arch === 'arm64'; }

Try / catch

try {
  const platform = getRuntimePlatform();
} catch (e) {
  if (e.message.startsWith('Unsupported Copilot CLI architecture')) {
    // fail fast with a clear environment requirement message
  } else throw e;
}

Prevention

When it happens

Trigger: Running the SDK on hardware/Node builds whose process.arch is not 'x64' or 'arm64' — e.g. Raspberry Pi 32-bit (arm), IBM POWER (ppc64), z/OS mainframe (s390x), or ia32 Node.

Common situations: ARM 32-bit boards, Alpine on odd architectures, running x86 Node under emulation configs misreporting arch, corporate hardware not covered by prebuilt binaries.

Understand the failure class

Background: "unsupported platform" / "not supported on this platform" errors: what they mean and how to fix them — this error's family across 47 libraries.

Related errors


AI-assisted analysis of github/copilot-sdk@cd8cf15dc3 (2026-09-09). Data as JSON: /api/errors/90ed169949f0d9dc. Report an issue: GitHub.

Appendix: source

Thrown at nodejs/src/runtimeArtifacts.ts:224

}

function isMusl(): boolean {
    if (process.platform !== "linux") {
        return false;
    }
    const report = process.report?.getReport() as
        | { header?: { glibcVersionRuntime?: string } }
        | undefined;
    return report?.header?.glibcVersionRuntime === undefined;
}

export function getRuntimePlatform(
    platform = process.platform,
    arch = process.arch,
    musl = isMusl()
): string {
    if (arch !== "x64" && arch !== "arm64") {
        throw new Error(`Unsupported Copilot CLI architecture: ${arch}.`);
    }
    if (platform === "linux") {
        return `${musl ? "linuxmusl" : "linux"}-${arch}`;
    }
    if (platform === "darwin" || platform === "win32") {
        return `${platform}-${arch}`;
    }
    throw new Error(`Unsupported Copilot CLI platform: ${platform}-${arch}.`);
}

export function getRuntimeReleaseAssetName(version: string, platform: string): string {
    return `github-copilot-${version}-${platform}.tgz`;
}

export function getRuntimePackageName(platform: string): string {
    return `@github/copilot-sdk-${platform}`;
}

View on GitHub (pinned to cd8cf15dc3)