thedotmack/claude-mem · error
pull ${res.status}: ${(await res.text().catch(() => "")).sli
Error message
pull ${res.status}: ${(await res.text().catch(() => "")).slice(0, 200)} What it means
Error "pull ${res.status}: ${(await res.text().catch(() => "")).slice(0, 200)}" thrown in thedotmack/claude-mem.
Source
Thrown at workers/sync-hub/canary/canary.ts:261
acked: Array<{ operation_sha256: string; seq: string }>;
head_seq: string;
};
const ack = parsed.acked.find((a) => a.operation_sha256 === operationSha256);
if (!ack) throw new Error("push response did not ack the canary op");
return { seq: ack.seq, headSeq: parsed.head_seq, opSha: operationSha256 };
}
private async pull(
deviceId: string,
since: string,
): Promise<{ ops: Array<{ seq: string; operation_sha256: string }>; headSeq: string }> {
const res = await fetch(`${this.args.hub}/v1/sync/changes?since=${since}&limit=500`, {
headers: this.headers(deviceId),
signal: AbortSignal.timeout(this.args.timeoutMs),
});
this.noteMode(res);
if (!res.ok) {
throw new Error(`pull ${res.status}: ${(await res.text().catch(() => "")).slice(0, 200)}`);
}
const parsed = (await res.json()) as {
ops: Array<{ seq: string; operation_sha256: string }>;
head_seq: string;
};
return { ops: parsed.ops, headSeq: parsed.head_seq };
}
/** Start both cursors at the current head — only NEW ops matter. */
async init(): Promise<void> {
const res = await fetch(`${this.args.hub}/v1/sync/status`, {
headers: this.headers(DEVICE_A),
signal: AbortSignal.timeout(this.args.timeoutMs),
});
this.noteMode(res);
if (!res.ok) {
throw new Error(`status ${res.status}: ${(await res.text().catch(() => "")).slice(0, 200)}`);
}View on GitHub (pinned to d768ba3643)
Solutions
- Inspect the status code and body in the message and fix the cause (auth, hub availability, or bad since cursor).
- Verify the canary's hub URL and device credentials, then rerun.
When it happens
Trigger: Fires in the sync-hub canary when the pull endpoint returns a non-2xx status, e.g. hub downtime, auth failure, or a malformed since/head_seq cursor. Guard at workers/sync-hub/canary/canary.ts:261 fails the canary with a truncated body excerpt so monitoring catches pull-path breakage independent of push.
Common situations: See trigger scenarios.
AI-assisted analysis of thedotmack/claude-mem@d768ba3643 (2026-08-12).
Data as JSON: /api/errors/89f1c1915a9daddf.
Report an issue: GitHub.