tinyhumansai/openhuman · warning

--toolkit <slug> is required when --agent is `integrations_a

Error message

--toolkit <slug> is required when --agent is `integrations_agent` (e.g. `--toolkit gmail`). Run `composio list_connection` to see active slugs.

What it means

Thrown by run_dump_prompt when --agent is exactly `integrations_agent` but no --toolkit/-t was provided. The integrations agent's prompt is expanded per connected Composio toolkit, so a single prompt cannot be rendered without naming which toolkit; the error suggests running `composio list_connection` for active slugs.

Source

Thrown at src/core/agent_cli.rs:233

            "-h" | "--help" => {
                print_dump_prompt_help();
                std::process::exit(0);
            }
            other => return Err(anyhow!("unknown dump-prompt arg: {other}")),
        }
        let _ = i; // silence unused-warning in the `help` branch
    }
    Ok(out)
}

fn run_dump_prompt(args: &[String]) -> Result<()> {
    let flags = parse_dump_flags(args)?;
    let agent = flags.agent.clone().ok_or_else(|| {
        anyhow!("--agent <id> is required (e.g. `orchestrator`, `integrations_agent`, `welcome`)")
    })?;

    if agent == "integrations_agent" && flags.toolkit.is_none() {
        return Err(anyhow!(
            "--toolkit <slug> is required when --agent is `integrations_agent` \
             (e.g. `--toolkit gmail`). Run `composio list_connection` to see active slugs."
        ));
    }

    init_quiet_logging(flags.verbose);

    log::debug!(
        "[agent-cli] run_dump_prompt entry: agent={} toolkit={:?} workspace={:?} model={:?}",
        agent,
        flags.toolkit,
        flags.workspace,
        flags.model
    );

    let options = DumpPromptOptions {
        agent_id: agent,
        toolkit: flags.toolkit.clone(),

View on GitHub (pinned to a221052e0d)

Solutions

  1. Add `--toolkit <slug>` (e.g. `--toolkit gmail`).
  2. Run `composio list_connection` to enumerate currently-connected toolkit slugs.
  3. In bulk scripts, skip integrations_agent when no toolkit is connected — dump-all already does this.

Example fix

# before
openhuman agent dump-prompt --agent integrations_agent

# after
openhuman agent dump-prompt --agent integrations_agent --toolkit gmail
Defensive patterns

Strategy: validation

Validate before calling

# shell: enforce the pairing up front
if [ "$AGENT_ID" = "integrations_agent" ] && [ -z "${TOOLKIT:-}" ]; then
  echo "--toolkit is required for integrations_agent; run composio list_connection" >&2
  exit 2
fi

Try / catch

match run_agent_command(&args) {
    Err(e) if e.to_string().contains("--toolkit <slug> is required") => {
        eprintln!("list slugs with `composio list_connection`, then add --toolkit <slug>");
    }
    other => other?,
}

Prevention

When it happens

Trigger: `openhuman agent dump-prompt --agent integrations_agent` with no --toolkit. Any other agent id does not require the flag.

Common situations: Scripting prompt dumps over all agents and treating integrations_agent like the rest, or not knowing which slugs are connected.

Related errors


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