tinyhumansai/openhuman · error

'{field}' array must only contain strings

Error message

'{field}' array must only contain strings

What it means

parse_string_list accepts a proxy list field ('no_proxy' etc.) as either a comma-separated string or an array; this fires when an array element is not a string (number, object, null). The {field} names which arguments key contained the bad element.

Source

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

        }
    }

    fn parse_string_list(raw: &Value, field: &str) -> anyhow::Result<Vec<String>> {
        if let Some(raw_string) = raw.as_str() {
            return Ok(raw_string
                .split(',')
                .map(str::trim)
                .filter(|entry| !entry.is_empty())
                .map(ToOwned::to_owned)
                .collect());
        }

        if let Some(array) = raw.as_array() {
            let mut out = Vec::new();
            for item in array {
                let value = item
                    .as_str()
                    .ok_or_else(|| anyhow::anyhow!("'{field}' array must only contain strings"))?;
                let trimmed = value.trim();
                if !trimmed.is_empty() {
                    out.push(trimmed.to_string());
                }
            }
            return Ok(out);
        }

        anyhow::bail!("'{field}' must be a string or string[]")
    }

    fn parse_optional_string_update(args: &Value, field: &str) -> anyhow::Result<MaybeSet<String>> {
        let Some(raw) = args.get(field) else {
            return Ok(MaybeSet::Unset);
        };

        if raw.is_null() {
            return Ok(MaybeSet::Null);

View on GitHub (pinned to 7491200858)

Solutions

  1. Make every element of the array a string, e.g. ["provider.openai", "tool.http_request"]
  2. Or pass a single comma-separated string instead of an array
Defensive patterns

Strategy: validation

When it happens

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