denoland/deno · error · TypeError

Deno.Kv can not be constructed: use Deno.openKv instead

Error message

Deno.Kv can not be constructed: use Deno.openKv instead

What it means

Error "Deno.Kv can not be constructed: use Deno.openKv instead" thrown in denoland/deno.

Source

Thrown at ext/kv/01_db.ts:140

  value: Uint8Array;
} | {
  kind: "bytes";
  value: Uint8Array;
} | {
  kind: "u64";
  value: bigint;
};

const kvSymbol = Symbol("KvRid");
const commitVersionstampSymbol = Symbol("KvCommitVersionstamp");

class Kv {
  #rid: number;
  #isClosed: boolean;

  constructor(rid: number = undefined, symbol: symbol = undefined) {
    if (kvSymbol !== symbol) {
      throw new TypeError(
        "Deno.Kv can not be constructed: use Deno.openKv instead",
      );
    }
    this.#rid = rid;
    this.#isClosed = false;
  }

  atomic() {
    return new AtomicOperation(this.#rid);
  }

  commitVersionstamp(): symbol {
    return commitVersionstampSymbol;
  }

  async get(key: Deno.KvKey, opts?: { consistency?: Deno.KvConsistencyLevel }) {
    const { 0: entries }: [RawKvEntry[]] = await op_kv_snapshot_read(
      this.#rid,

View on GitHub (pinned to 89f33cbef2)

When it happens

Trigger: Thrown at ext/kv/01_db.ts:140 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of denoland/deno@89f33cbef2 (2026-08-16). Data as JSON: /api/errors/387ce6f3f348dca9. Report an issue: GitHub.