Hmbown/CodeWhale · error · anyhow::Error
Tool {name} is not available to this read-only worker becaus
Error message
Tool {name} is not available to this read-only worker because its process path does not share the hardened evidence boundary. Use read/search, classifier-bounded bash reads, or the verifier's bounded Run tool instead. What it means
Error "Tool {name} is not available to this read-only worker because its process path does not share the hardened evidence boundary. Use read/search, classifier-bounded bash reads, or the verifier's bounded Run tool instead." thrown in Hmbown/CodeWhale.
Source
Thrown at crates/tui/src/tools/subagent/mod.rs:14742
match &self.allowed_tools {
None => Vec::new(),
Some(list) => list
.iter()
.filter(|name| !is_tool_search_tool(name) && !self.registry.contains(name))
.cloned()
.collect(),
}
}
async fn execute_full(
&self,
agent_id: &str,
tool_id: &str,
name: &str,
input: Value,
) -> Result<RichToolResult> {
if self.role_blocks_unhardened_process_tool(name) {
return Err(anyhow!(
"Tool {name} is not available to this read-only worker because its process path does not share the hardened evidence boundary. Use read/search, classifier-bounded bash reads, or the verifier's bounded Run tool instead."
));
}
let action = input.get("action").and_then(Value::as_str);
if matches!(&self.agent_type, FleetRole::Scout | FleetRole::Reviewer)
&& name == "Web"
&& !matches!(action, Some("search" | "fetch"))
{
return Err(anyhow!(
"Tool Web is limited to search/fetch in the read-only evidence profile"
));
}
let family_action_allowed = if !Self::ACTION_ALIASES
.iter()
.any(|(family, _, _)| *family == name)
{
true
} else if let Some(action) = action {View on GitHub (pinned to 0c42157ee5)
Solutions
- Use read/search tools, classifier-bounded bash reads, or the verifier's bounded Run tool instead
- Switch the agent to a builder or worker role (or custom with explicit allowed_tools) to gain process tools
- Remove the process-path tool from this read-only worker's requests
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/tui/src/tools/subagent/mod.rs:14742 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Hmbown/CodeWhale@0c42157ee5 (2026-08-20).
Data as JSON: /api/errors/c5dcd9a2ced29ba7.
Report an issue: GitHub.