tinyhumansai/openhuman · error

'enabled' must be a boolean

Error message

'enabled' must be a boolean

What it means

In handle_set, the optional 'enabled' toggle must be a JSON boolean; this fires when args include 'enabled' as a string ("true") or number. Validation happens after config reload but before any proxy change is persisted.

Source

Thrown at src/openhuman/tools/impl/system/proxy_config.rs:166

            "supported_selectors": ProxyConfig::supported_service_selectors(),
            "usage_example": {
                "action": "set",
                "scope": "services",
                "services": ["provider.openai", "tool.http_request", "channel.telegram"]
            }
        }))?))
    }

    async fn handle_set(&self, args: &Value) -> anyhow::Result<ToolResult> {
        let mut cfg = self.load_config_without_env()?;
        let previous_scope = cfg.proxy.scope;
        let mut proxy = cfg.proxy.clone();
        let mut touched_proxy_url = false;

        if let Some(enabled) = args.get("enabled") {
            proxy.enabled = enabled
                .as_bool()
                .ok_or_else(|| anyhow::anyhow!("'enabled' must be a boolean"))?;
        }

        if let Some(scope_raw) = args.get("scope") {
            let scope = scope_raw
                .as_str()
                .ok_or_else(|| anyhow::anyhow!("'scope' must be a string"))?;
            proxy.scope = Self::parse_scope(scope).ok_or_else(|| {
                anyhow::anyhow!("Invalid scope '{scope}'. Use environment|openhuman|services")
            })?;
        }

        match Self::parse_optional_string_update(args, "http_proxy")? {
            MaybeSet::Set(update) => {
                proxy.http_proxy = Some(update);
                touched_proxy_url = true;
            }
            MaybeSet::Null => {
                proxy.http_proxy = None;

View on GitHub (pinned to 7491200858)

Solutions

  1. Pass "enabled" as a JSON boolean: true or false, unquoted
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/tools/impl/system/proxy_config.rs:166 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/c12d2255b13a9b43. Report an issue: GitHub.