chroma-core/chroma · critical

Unsupported platform: ${process.platform}

Error message

Unsupported platform: ${process.platform}

What it means

Thrown at module load time by the chromadb package's bindings loader when process.platform is not darwin, linux, or win32. No prebuilt native binding exists for any other operating system, so the import of the native-bindings flavor of chromadb fails immediately on unsupported platforms.

Source

Thrown at clients/js/packages/chromadb/src/bindings.ts:31

  }
} else if (process.platform === "linux") {
  if (process.arch === "arm64") {
    binding = require("chromadb-js-bindings-linux-arm64-gnu");
  } else if (process.arch === "x64") {
    binding = require("chromadb-js-bindings-linux-x64-gnu");
  } else {
    throw new Error(`Unsupported architecture on Linux: ${process.arch}`);
  }
} else if (process.platform === "win32") {
  if (process.arch === "arm64") {
    binding = require("chromadb-js-bindings-win32-arm64-msvc");
  } else {
    throw new Error(
      `Unsupported Windows architecture: ${process.arch}. Only ARM64 is supported.`,
    );
  }
} else {
  throw new Error(`Unsupported platform: ${process.platform}`);
}

export default binding;

View on GitHub (pinned to aecdd12c8a)

Solutions

  1. Switch to the pure-JS client packages (chromadb-core / chromadb-cloud) that talk HTTP to a Chroma server and need no native binding.
  2. Run the workload inside a Linux container/VM on the target host.
Defensive patterns

Strategy: fallback

Validate before calling

const knownPlatforms = new Set(["darwin", "linux", "win32"]);
if (!knownPlatforms.has(process.platform)) {
  // route to the pure-JS HTTP client instead of the native package
  const { ChromaClient } = await import("chromadb-core");
}

Prevention

When it happens

Trigger: import "chromadb" on freebsd, openbsd, sunos, aix, or android Node builds; unusual runtimes that report non-standard process.platform values.

Common situations: Deploying to BSD-based servers or NAS devices; edge runtimes that emulate Node partially; very rare in typical web app deployments.

Related errors


AI-assisted analysis of chroma-core/chroma@aecdd12c8a (2026-08-16). Data as JSON: /api/errors/beb2ba5b57564642. Report an issue: GitHub.