tinyhumansai/openhuman · error · anyhow::Error
write Claude Code system prompt file: {e}
Error message
write Claude Code system prompt file: {e} What it means
Writing the composed system prompt to a file in the Claude Code scratch dir failed before spawning the CLI. An IO error on a just-created temp dir — disk full, permissions, or the file being unreadable — so the turn aborts before the subprocess starts.
Source
Thrown at src/openhuman/inference/provider/claude_code/driver.rs:323
// same dir below). This is where the coding agent reads/edits code.
"--add-dir".into(),
ctx.project_dir.display().to_string(),
// Default `acceptEdits` (auto-apply edits, gate the rest); the user can
// opt into `bypassPermissions` for the full toolset (see above).
"--permission-mode".into(),
permission_mode.to_string(),
if is_new {
"--session-id".into()
} else {
"--resume".into()
},
cc_session_id.clone(),
"--model".into(),
ctx.model.clone(),
];
args.extend(
append_system_prompt_args(scratch.path(), ctx.append_system_prompt.as_deref())
.map_err(|e| anyhow::anyhow!("write Claude Code system prompt file: {e}"))?,
);
if let Some(p) = mcp_config_path.as_ref() {
args.push("--mcp-config".into());
args.push(p.display().to_string());
args.push("--strict-mcp-config".into());
}
// Tool surface follows the permission posture: full access → no
// `--disallowedTools` (CC keeps its entire toolset incl. Bash/network);
// default `acceptEdits` → withhold the dangerous builtins (edits only).
if !full_access {
args.push("--disallowedTools".into());
args.push(DISALLOWED_CC_BUILTINS.join(","));
}
// Validate input *before* spawning so we don't launch a process we
// can't feed (CodeRabbit: validate before spawn).
let stdin_bytes = build_stdin(ctx.messages, is_new);
if stdin_bytes.is_empty() {View on GitHub (pinned to 7491200858)
Solutions
- Check disk space and tmp permissions
- Retry the turn
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at src/openhuman/inference/provider/claude_code/driver.rs:323 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/3bfe47138d4b184c.
Report an issue: GitHub.