chroma-core/chroma · error · ChromaValueError

transactional add for id "${id}" requires a prior read provi

Error message

transactional add for id "${id}" requires a prior read proving the id is absent

What it means

Error "transactional add for id "${id}" requires a prior read proving the id is absent" thrown in chroma-core/chroma.

Source

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

          `transactional write request contains duplicate id "${id}"`,
        );
      }
      callIds.add(id);
      if (this.bufferedWriteIds.has(id)) {
        throw new ChromaValueError(
          `transaction already has a buffered write for id "${id}"`,
        );
      }
      this.validateWritePrecondition(operation, id);
    }
  }

  private validateWritePrecondition(
    operation: ConditionalTransactionOperationPayload["operation"],
    id: string,
  ): void {
    if (operation === "add" && !this.knownAbsent.has(id)) {
      throw new ChromaValueError(
        `transactional add for id "${id}" requires a prior read proving the id is absent`,
      );
    }
    if (operation === "update" && !this.knownPresent.has(id)) {
      throw new ChromaValueError(
        `transactional update for id "${id}" requires a prior read proving the id is present`,
      );
    }
    if (operation === "delete" && !this.knownPresent.has(id)) {
      throw new ChromaValueError(
        `transactional delete for id "${id}" requires a prior read proving the id is present`,
      );
    }
  }

  private ensureOpen(): void {
    if (this.closed) {
      throw new ChromaValueError("conditional transaction is closed");

View on GitHub (pinned to aecdd12c8a)

When it happens

Trigger: Thrown at clients/new-js/packages/chromadb/src/collection.ts:1719 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/70dffea6b830101b. Report an issue: GitHub.