tinyhumansai/openhuman · error
failed to spawn claude binary '{binary}': {source}
Error message
failed to spawn claude binary '{binary}': {source} What it means
The Claude Agent SDK subprocess wrapper failed to spawn the claude CLI binary at the configured path — the OS-level exec failed (ENOENT if the binary is not installed/not on PATH, EACCES on permissions, etc.). The {source} is the underlying std::io::Error from the spawn call. This fires before any protocol exchange, so no inference request was made; the provider is simply unusable in this environment.
Source
Thrown at src/openhuman/inference/provider/claude_agent_sdk/subprocess.rs:57
"-p".to_string(),
"--model".to_string(),
model.to_string(),
"--output-format".to_string(),
"stream-json".to_string(),
"--no-color".to_string(),
];
if let Some(budget) = max_budget_usd {
args.push("--max-turns".to_string());
args.push("10".to_string());
args.push("--budget".to_string());
args.push(format!("{budget:.4}"));
}
ClaudeInvocation { args, stdin }
}
fn spawn_error(binary: &str, source: std::io::Error) -> anyhow::Error {
let message = format!("failed to spawn claude binary '{binary}': {source}");
anyhow::Error::new(source).context(message)
}
impl ClaudeAgentSdkProvider {
pub fn new(config: ClaudeAgentSdkConfig) -> Self {
let model = config.default_model.clone();
Self::for_model(config, model)
}
pub fn for_model(config: ClaudeAgentSdkConfig, model: impl Into<String>) -> Self {
Self {
config,
profile: ModelProfile {
provider: Some("claude-agent-sdk".to_string()),
model: Some(model.into()),
..Default::default()
},
}
}View on GitHub (pinned to 7491200858)
Solutions
- Verify the claude binary is installed and the configured path resolves (which claude)
- Install the Claude Agent SDK CLI or fix the binary path in provider configuration
- Ensure the binary is executable by the user running the core (chmod +x)
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at src/openhuman/inference/provider/claude_agent_sdk/subprocess.rs:57 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/d8e07051a52ba85f.
Report an issue: GitHub.