JuliusBrussee/caveman · error
cave_tool_result_recovery_mismatch
Error message
cave_tool_result_recovery_mismatch
What it means
Error "cave_tool_result_recovery_mismatch" thrown in JuliusBrussee/caveman.
Source
Thrown at packages/agent/src/runtime.ts:3775
details: { effect: definition.effect, resultPolicy: definition.result },
};
}
const mustOffload = definition.result === "page" ||
definition.result === "compress" ||
definition.result === "exact_ccr" ||
raw.byteLength > maxInlineBytes;
if (!mustOffload) {
return {
content: [{ type: "text", text: text ?? "null" }],
details: { effect: definition.effect, resultPolicy: definition.result },
};
}
const transformed = await engineCompress(raw, engineBin);
if (!transformed.handle || !recoveryHandles) {
throw new Error("cave_tool_result_requires_recovery");
}
const recovered = await engineRetrieve(transformed.handle, undefined, engineBin);
if (!bytesEqual(recovered, raw)) throw new Error("cave_tool_result_recovery_mismatch");
recoveryHandles.add(transformed.handle);
const compressed = new TextDecoder().decode(transformed.output);
return {
content: [{
type: "text",
text: [
compressed,
`<<cave_retrieve:${transformed.handle}>>`,
definition.result === "page"
? "Use cave_retrieve with a narrow query to page relevant detail."
: "Use cave_retrieve for omitted detail.",
].join("\n"),
}],
details: {
effect: definition.effect,
resultPolicy: definition.result,
recoveryHandle: transformed.handle,
recoveryVerified: true,View on GitHub (pinned to 27d5a3981a)
Solutions
- The recovery handle does not match the tool result; regenerate the result with the correct recovery binding.
When it happens
Trigger: Thrown at packages/agent/src/runtime.ts:3775 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15).
Data as JSON: /api/errors/25799b210857b150.
Report an issue: GitHub.