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

  1. Fix the TOML syntax/type error the parser reports in config.toml
  2. Restore config.toml from backup or delete it to let the core reinitialize defaults
  3. 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


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/0ffe8c91690d9641. Report an issue: GitHub.