{"record":{"id":"e8bf91ec765359bb","repo":"chroma-core/chroma","slug":"unsupported-windows-architecture-process-arch","errorCode":null,"errorMessage":"Unsupported Windows architecture: ${process.arch}. Only ARM64 is supported.","messagePattern":"Unsupported Windows architecture: (.+?)\\. Only ARM64 is supported\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"critical","filePath":"clients/js/packages/chromadb/src/bindings.ts","lineNumber":26,"sourceCode":"    binding = require(\"chromadb-js-bindings-darwin-arm64\");\n  } else if (process.arch === \"x64\") {\n    binding = require(\"chromadb-js-bindings-darwin-x64\");\n  } else {\n    throw new Error(`Unsupported architecture on macOS: ${process.arch}`);\n  }\n} else if (process.platform === \"linux\") {\n  if (process.arch === \"arm64\") {\n    binding = require(\"chromadb-js-bindings-linux-arm64-gnu\");\n  } else if (process.arch === \"x64\") {\n    binding = require(\"chromadb-js-bindings-linux-x64-gnu\");\n  } else {\n    throw new Error(`Unsupported architecture on Linux: ${process.arch}`);\n  }\n} else if (process.platform === \"win32\") {\n  if (process.arch === \"arm64\") {\n    binding = require(\"chromadb-js-bindings-win32-arm64-msvc\");\n  } else {\n    throw new Error(\n      `Unsupported Windows architecture: ${process.arch}. Only ARM64 is supported.`,\n    );\n  }\n} else {\n  throw new Error(`Unsupported platform: ${process.platform}`);\n}\n\nexport default binding;\n","sourceCodeStart":8,"sourceCodeEnd":35,"githubUrl":"https://github.com/chroma-core/chroma/blob/aecdd12c8a891610db8653630b066b32ceb678b5/clients/js/packages/chromadb/src/bindings.ts#L8-L35","documentation":"Thrown at module load time by the chromadb package's bindings loader on Windows when process.arch is not arm64. Only a Windows ARM64 (msvc) prebuilt Rust binding is published, so x64 Windows — the most common Windows setup — cannot load native bindings from this package. The error fires during import, before any application code runs.","triggerScenarios":"import \"chromadb\" on 64-bit x64 Windows, 32-bit ia32 Windows, or any Windows Node build that is not arm64.","commonSituations":"Developers on standard Intel/AMD Windows machines or Windows x64 CI runners (e.g. GitHub Actions windows-latest) importing the native-bindings chromadb package; teams that develop on Mac/Linux and first see the crash on Windows build agents.","solutions":["Use the pure-JS client packages (chromadb-core, chromadb-cloud, or chromadb-client) which have no native binding requirement.","Run inside WSL2 (Linux x64) where the linux-x64-gnu binding loads.","Run tests/builds on Windows ARM64 hardware, or switch CI to a Linux runner for this package."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"const isWinArm64 = process.platform === \"win32\" && process.arch === \"arm64\";\n// On Windows x64 fall back to the pure-JS client\nconst mod = isWinArm64\n  ? await import(\"chromadb\")\n  : await import(\"chromadb-core\");","typeGuard":null,"tryCatchPattern":null,"preventionTips":["On Windows x64 use chromadb-core/chromadb-cloud or run under WSL2.","Set CI to linux runners for pipelines that exercise native bindings.","Document platform support matrices in onboarding docs to avoid Windows x64 imports."],"tags":["native-bindings","platform","windows","module-load"],"backgroundTag":"unsupported-platform-architecture","analyzedSha":"aecdd12c8a891610db8653630b066b32ceb678b5","analyzedAt":"2026-08-16T21:53:27.228Z","schemaVersion":2},"datasetVersion":"2026-08-16T23:17:17.608Z"}