chroma-core/chroma · error · ChromaValueError

transactional read token offset ${actualReadToken} is not a

Error message

transactional read token offset ${actualReadToken} is not a safe integer

What it means

Error "transactional read token offset ${actualReadToken} is not a safe integer" thrown in chroma-core/chroma.

Source

Thrown at clients/new-js/packages/chromadb/src/collection.ts:1635

    const limit = request.limit ?? undefined;
    if (!Number.isInteger(limit) || (limit as number) <= 0) {
      throw new ChromaValueError(
        "transactional filter reads require a positive limit",
      );
    }
  }

  private validateReadToken(
    expectedReadToken: number | null,
    actualReadToken: number | null | undefined,
  ): void {
    if (actualReadToken === null || actualReadToken === undefined) {
      throw new ChromaValueError(
        "transactional get response did not include an OCC read token",
      );
    }
    if (!Number.isSafeInteger(actualReadToken) || actualReadToken < 0) {
      throw new ChromaValueError(
        `transactional read token offset ${actualReadToken} is not a safe integer`,
      );
    }
    if (expectedReadToken !== null && expectedReadToken !== actualReadToken) {
      throw new ChromaValueError(
        "transactional read token changed from log upper bound offset " +
          `${expectedReadToken} to ${actualReadToken}`,
      );
    }
    if (this.readToken !== null && this.readToken !== actualReadToken) {
      throw new ChromaValueError(
        "transactional read token changed from log upper bound offset " +
          `${this.readToken} to ${actualReadToken}`,
      );
    }
  }

  private bufferWrite(

View on GitHub (pinned to aecdd12c8a)

When it happens

Trigger: Thrown at clients/new-js/packages/chromadb/src/collection.ts:1635 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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