openclaw/openclaw · error · Error

invalid canvas.snapshot payload

Error message

invalid canvas.snapshot payload

What it means

Error "invalid canvas.snapshot payload" thrown in openclaw/openclaw.

Source

Thrown at extensions/canvas/src/cli-helpers.ts:66

  return Buffer.from(canonical, "base64").toString("base64") === canonical ? canonical : undefined;
}

/** Normalizes Canvas snapshot output extensions, mapping jpeg to jpg. */
export function normalizeCanvasSnapshotFileExtension(value: string): CanvasSnapshotFileExtension {
  const format = normalizeCanvasSnapshotFormat(value.startsWith(".") ? value.slice(1) : value);
  if (!format) {
    throw new Error("invalid canvas.snapshot format");
  }
  return format === "jpeg" ? "jpg" : format;
}

/** Parses the node.invoke canvas.snapshot payload shape. */
export function parseCanvasSnapshotPayload(value: unknown): CanvasSnapshotPayload {
  const obj = asRecord(value);
  const format = normalizeCanvasSnapshotFormat(readStringValue(obj.format));
  const base64 = canonicalizeCanvasSnapshotBase64(readStringValue(obj.base64));
  if (!format || !base64) {
    throw new Error("invalid canvas.snapshot payload");
  }
  return { format, base64 };
}

function resolveCliName(): string {
  return "openclaw";
}

function resolveCanvasSnapshotId(id: string): string {
  if (!/^[A-Za-z0-9_-]+$/.test(id)) {
    throw new Error("invalid canvas snapshot id");
  }
  return id;
}

function resolveTempPathParts(opts: { ext: string; tmpDir?: string; id?: string }) {
  const tmpDir = opts.tmpDir ?? resolvePreferredOpenClawTmpDir();
  if (!opts.tmpDir) {

View on GitHub (pinned to 01804a7531)

When it happens

Trigger: Thrown at extensions/canvas/src/cli-helpers.ts:66 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of openclaw/openclaw@01804a7531 (2026-08-12). Data as JSON: /api/errors/76585ddf1dd90f0e. Report an issue: GitHub.