tinyhumansai/openhuman · error · anyhow::Error

load config: {error:#}

Error message

load config: {error:#}

What it means

Loading the core TOML config via `Config::load_or_init()` failed inside the skills runtime-info tool before runtimes could be resolved. The tool needs config to find Node/Python runtime settings; `{e:#}` (alternate chain formatting) carries the full config-load cause — unreadable file, invalid TOML, or workspace resolution failure.

Source

Thrown at src/openhuman/skills/runtime/tools.rs:53

            "type": "object",
            "properties": {
                "runtime": {
                    "type": "string",
                    "enum": ["all", "node", "python"],
                    "description": "Runtime to resolve. Defaults to all."
                }
            }
        })
    }

    fn permission_level(&self) -> PermissionLevel {
        PermissionLevel::ReadOnly
    }

    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
        let config = Config::load_or_init()
            .await
            .map_err(|error| anyhow::anyhow!("load config: {error:#}"))?;
        let requirement = RuntimeRequirement::from_optional(
            args.get("runtime").and_then(serde_json::Value::as_str),
        )
        .map_err(|error| anyhow::anyhow!(error))?;
        tracing::debug!(
            requirement = ?requirement,
            "[tool][skill_runtime] resolve_runtimes"
        );
        let outcome = resolve_runtimes(&config, requirement).await;
        Ok(ToolResult::success(serde_json::to_string(&outcome)?))
    }

    fn is_concurrency_safe(&self, _args: &serde_json::Value) -> bool {
        true
    }
}

View on GitHub (pinned to 7491200858)

Solutions

  1. Check `{e:#}` chain for the config failure root
  2. Verify workspace dir and config.toml readability
  3. Retry on transient FS contention
  4. Fix invalid TOML if the chain points at parsing
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at src/openhuman/skills/runtime/tools.rs:53 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/a433ccc696df70dd. Report an issue: GitHub.