JuliusBrussee/caveman · error

cave_tool_search_query_required

Error message

cave_tool_search_query_required

What it means

Error "cave_tool_search_query_required" thrown in JuliusBrussee/caveman.

Source

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

      };
    },
  };
}

function toolSchemaSearchTool(
  handles: ReadonlySet<string>,
  engineBin: string | undefined,
  trace?: MutableTransformTrace[],
): AgentTool<TSchema> {
  return {
    name: "cave_search_tools",
    label: "cave_search_tools",
    description: "Search exact original tool definitions when compacted annotations are insufficient.",
    parameters: Type.Object({ query: Type.String() }),
    executionMode: "parallel",
    async execute(_toolCallId, params) {
      const query = (params as { query: string }).query.trim().toLowerCase();
      if (query === "") throw new Error("cave_tool_search_query_required");
      const terms = tokenize(query);
      const hits: Array<{ score: number; value: Record<string, unknown>; handle: string }> = [];
      for (const handle of handles) {
        const original = await engineRetrieve(handle, undefined, engineBin);
        let parsed: unknown;
        try {
          parsed = JSON.parse(new TextDecoder().decode(original));
        } catch {
          continue;
        }
        if (!isRecord(parsed) || typeof parsed.name !== "string" ||
            typeof parsed.description !== "string" || !isRecord(parsed.input)) continue;
        const haystack = `${parsed.name} ${parsed.description} ${JSON.stringify(parsed.input)}`.toLowerCase();
        const score = terms.reduce((total, term) => total + (haystack.includes(term) ? 1 : 0), 0);
        if (score > 0) hits.push({ score, value: parsed, handle });
      }
      hits.sort((first, second) => second.score - first.score ||
        String(first.value.name).localeCompare(String(second.value.name)));

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Pass a non-empty query string to the tool search call.

When it happens

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