JuliusBrussee/caveman · error

cave_tool_result_inline_limit

Error message

cave_tool_result_inline_limit

What it means

Error "cave_tool_result_inline_limit" thrown in JuliusBrussee/caveman.

Source

Thrown at packages/agent/src/runtime.ts:3754

        ? await sandboxExecute(params, combined)
        : await raceToolTimeout(
          Promise.resolve(definition.execute(params, combined)),
          definition.timeoutMs,
        );
      const text = typeof value === "string" ? value : JSON.stringify(value);
      const raw = new TextEncoder().encode(text ?? "null");
      const maxInlineBytes = definition.artifact === undefined
        ? 32_768
        : definition.artifact.maxInlineTokens * 4;
      if (deferLockedToolResult) {
        if (raw.byteLength > 16 * 1024 * 1024) throw new Error("cave_tool_result_limit");
        return {
          content: [{ type: "text", text: text ?? "null" }],
          details: { effect: definition.effect, resultPolicy: definition.result, lockedRoutePending: true },
        };
      }
      if (definition.result === "inline") {
        if (raw.byteLength > maxInlineBytes) throw new Error("cave_tool_result_inline_limit");
        return {
          content: [{ type: "text", text: text ?? "null" }],
          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");

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. The tool result exceeds the inline limit; store it as an artifact instead of inlining.

When it happens

Trigger: Thrown at packages/agent/src/runtime.ts:3754 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/fb1349fd8a03d087. Report an issue: GitHub.