JuliusBrussee/caveman · error · Error
cave_execution_authorization_ambiguous
Error message
cave_execution_authorization_ambiguous
What it means
Error "cave_execution_authorization_ambiguous" thrown in JuliusBrussee/caveman.
Source
Thrown at packages/agent/src/claude-runtime.ts:86
return runClaudeAgentWithOptions(definition, input, options);
}
/** CLI/test lane. Locked execution fails closed before provider use. */
export async function runClaudeAgentInternal(
definition: AgentDefinition,
input: string,
options: ClaudeInternalRunOptions,
): Promise<RunResult> {
return runClaudeAgentWithOptions(definition, input, options);
}
async function runClaudeAgentWithOptions(
definition: AgentDefinition,
input: string,
options: ClaudeInternalRunOptions,
): Promise<RunResult> {
if (options.lockedBuild !== undefined && options.candidatePlan !== undefined) {
throw new Error("cave_execution_authorization_ambiguous");
}
if (options.candidatePlan !== undefined) {
throw new Error("cave_claude_candidate_execution_unavailable");
}
if (options.lockedBuild !== undefined) {
throw new Error("cave_claude_locked_execution_unavailable");
}
if (definition.memory !== undefined) {
throw new Error("cave_claude_memory_bridge_unavailable");
}
if (definition.tools.some((item) => item.runtime?.kind === "subagent")) {
throw new Error("cave_claude_subagent_bridge_unavailable");
}
const unsupportedTool = definition.tools.find((item) =>
item.effect !== "read" || item.result !== "inline");
if (unsupportedTool !== undefined) {
throw new Error(`cave_claude_tool_contract_unsupported:${unsupportedTool.name}`);
}View on GitHub (pinned to 27d5a3981a)
Solutions
- Disambiguate execution authorization: specify exactly one authorization scope for the Claude run.
When it happens
Trigger: Thrown at packages/agent/src/claude-runtime.ts:86 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/b7ac09fc4b54faeb.
Report an issue: GitHub.