tinyhumansai/openhuman · error
Failed to parse config file {}: {error}
Error message
Failed to parse config file {}: {error} What it means
After reading config.toml, ProxyConfigTool parses it with toml::from_str; this fires when the file contents are not valid TOML or don't match the Config schema — e.g. hand-edited syntax error or schema drift from an older version. No proxy change is applied.
Source
Thrown at src/openhuman/tools/impl/system/proxy_config.rs:31
config: Arc<Config>,
security: Arc<SecurityPolicy>,
}
impl ProxyConfigTool {
pub fn new(config: Arc<Config>, security: Arc<SecurityPolicy>) -> Self {
Self { config, security }
}
fn load_config_without_env(&self) -> anyhow::Result<Config> {
let contents = fs::read_to_string(&self.config.config_path).map_err(|error| {
anyhow::anyhow!(
"Failed to read config file {}: {error}",
self.config.config_path.display()
)
})?;
let mut parsed: Config = toml::from_str(&contents).map_err(|error| {
anyhow::anyhow!(
"Failed to parse config file {}: {error}",
self.config.config_path.display()
)
})?;
parsed.config_path = self.config.config_path.clone();
parsed.workspace_dir = self.config.workspace_dir.clone();
Ok(parsed)
}
fn require_write_access(&self) -> Option<ToolResult> {
if !self.security.can_act() {
return Some(ToolResult::error(
"[policy-blocked] Action blocked: autonomy is read-only",
));
}
if !self.security.record_action() {
return Some(ToolResult::error("Action blocked: rate limit exceeded"));View on GitHub (pinned to 7491200858)
Solutions
- Fix the TOML syntax/type error the parser reports in config.toml
- Restore config.toml from backup or delete it to let the core reinitialize defaults
- Run config validation/migrations to upgrade an old schema
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/tools/impl/system/proxy_config.rs:31 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Parsing and encoding errors: unexpected token, malformed input — why parsers reject input and how to find the real culprit.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/0ffe8c91690d9641.
Report an issue: GitHub.