tinyhumansai/openhuman · error

unknown sentry-test arg: {other}

Error message

unknown sentry-test arg: {other}

What it means

`sentry-test` accepts exactly `--message <text>`, `--panic`, and `-h`/`--help`; every other token falls into the catch-all arm and is rejected with its literal text. The parser does exact-string matching, so equals-joined forms (`--message=hi`) and typo'd flags (`--msg`) both land here rather than being interpreted.

Source

Thrown at src/core/cli.rs:267

                do_panic = true;
                i += 1;
            }
            "-h" | "--help" => {
                println!("Usage: openhuman sentry-test [--message <text>] [--panic]");
                println!();
                println!("  --message <text>  Body of the Error-level event sent to Sentry");
                println!("                    (default: \"openhuman sentry-test ping\")");
                println!("  --panic           After capturing the event, trigger a panic so the");
                println!("                    panic integration reports it as a separate event.");
                println!();
                println!(
                    "Requires OPENHUMAN_CORE_SENTRY_DSN (or the legacy OPENHUMAN_SENTRY_DSN alias)"
                );
                println!("at runtime, or baked into the binary at build time via option_env!. On");
                println!("success, prints the event UUID to stdout.");
                return Ok(());
            }
            other => return Err(anyhow::anyhow!("unknown sentry-test arg: {other}")),
        }
    }

    let client = sentry::Hub::current().client();
    let dsn_host = client
        .as_deref()
        .and_then(|c| c.dsn())
        .map(|d| d.host().to_string());

    match &dsn_host {
        Some(host) => eprintln!("[sentry-test] Sentry client active (dsn host: {host})"),
        None => {
            return Err(anyhow::anyhow!(
                "Sentry is not initialized in this binary — no DSN is resolvable. \
                 Set OPENHUMAN_CORE_SENTRY_DSN (or the legacy OPENHUMAN_SENTRY_DSN alias) \
                 in the environment (or rebuild with it defined at compile time) and try again."
            ));
        }

View on GitHub (pinned to a221052e0d)

Solutions

  1. Run `openhuman sentry-test --help` and use only the listed flags
  2. Use the space-separated form: `--message "text"` and/or `--panic`
  3. Remove stray positional arguments — sentry-test takes subcommand-style flags only

Example fix

# before
openhuman sentry-test --message=hi
# after
openhuman sentry-test --message hi
Defensive patterns

Strategy: validation

Validate before calling

# bash: whitelist the only tokens sentry-test understands
case "${1:-}" in
  --message|--panic|-h|--help) ;;
  "") ;;
  *) echo "unsupported sentry-test flag: $1 (use --message <text> | --panic | --help)" >&2; exit 2 ;;
esac

Prevention

When it happens

Trigger: `openhuman sentry-test --message=hi` (equals form not supported); `--msg "text"` (typo); a stray positional argument like `openhuman sentry-test test`.

Common situations: Muscle memory from tools that accept `key=value` flags; renamed or guessed flag names; leftover positional arguments in scripts.

Related errors


AI-assisted analysis of tinyhumansai/openhuman@a221052e0d (2026-08-16). Data as JSON: /api/errors/91532d0f6c4b9a76. Report an issue: GitHub.