{"record":{"id":"b78e7770ed1c31c7","repo":"tinyhumansai/openhuman","slug":"toolkit-slug-is-required-when-agent-is-inte","errorCode":null,"errorMessage":"--toolkit <slug> is required when --agent is `integrations_agent` (e.g. `--toolkit gmail`). Run `composio list_connection` to see active slugs.","messagePattern":"--toolkit <slug> is required when --agent is `integrations_agent` \\(e\\.g\\. `--toolkit gmail`\\)\\. Run `composio list_connection` to see active slugs\\.","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"src/core/agent_cli.rs","lineNumber":233,"sourceCode":"            \"-h\" | \"--help\" => {\n                print_dump_prompt_help();\n                std::process::exit(0);\n            }\n            other => return Err(anyhow!(\"unknown dump-prompt arg: {other}\")),\n        }\n        let _ = i; // silence unused-warning in the `help` branch\n    }\n    Ok(out)\n}\n\nfn run_dump_prompt(args: &[String]) -> Result<()> {\n    let flags = parse_dump_flags(args)?;\n    let agent = flags.agent.clone().ok_or_else(|| {\n        anyhow!(\"--agent <id> is required (e.g. `orchestrator`, `integrations_agent`, `welcome`)\")\n    })?;\n\n    if agent == \"integrations_agent\" && flags.toolkit.is_none() {\n        return Err(anyhow!(\n            \"--toolkit <slug> is required when --agent is `integrations_agent` \\\n             (e.g. `--toolkit gmail`). Run `composio list_connection` to see active slugs.\"\n        ));\n    }\n\n    init_quiet_logging(flags.verbose);\n\n    log::debug!(\n        \"[agent-cli] run_dump_prompt entry: agent={} toolkit={:?} workspace={:?} model={:?}\",\n        agent,\n        flags.toolkit,\n        flags.workspace,\n        flags.model\n    );\n\n    let options = DumpPromptOptions {\n        agent_id: agent,\n        toolkit: flags.toolkit.clone(),","sourceCodeStart":215,"sourceCodeEnd":251,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/a221052e0df5b1f7598fceba7329fd1af95d6699/src/core/agent_cli.rs#L215-L251","documentation":"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.","triggerScenarios":"`openhuman agent dump-prompt --agent integrations_agent` with no --toolkit. Any other agent id does not require the flag.","commonSituations":"Scripting prompt dumps over all agents and treating integrations_agent like the rest, or not knowing which slugs are connected.","solutions":["Add `--toolkit <slug>` (e.g. `--toolkit gmail`).","Run `composio list_connection` to enumerate currently-connected toolkit slugs.","In bulk scripts, skip integrations_agent when no toolkit is connected — dump-all already does this."],"exampleFix":"# before\nopenhuman agent dump-prompt --agent integrations_agent\n\n# after\nopenhuman agent dump-prompt --agent integrations_agent --toolkit gmail","handlingStrategy":"validation","validationCode":"# shell: enforce the pairing up front\nif [ \"$AGENT_ID\" = \"integrations_agent\" ] && [ -z \"${TOOLKIT:-}\" ]; then\n  echo \"--toolkit is required for integrations_agent; run composio list_connection\" >&2\n  exit 2\nfi","typeGuard":null,"tryCatchPattern":"match run_agent_command(&args) {\n    Err(e) if e.to_string().contains(\"--toolkit <slug> is required\") => {\n        eprintln!(\"list slugs with `composio list_connection`, then add --toolkit <slug>\");\n    }\n    other => other?,\n}","preventionTips":["Treat integrations_agent as the exception in bulk scripts: it needs --toolkit, others do not.","Skip it when no toolkit is connected — dump-all already skips it in that case.","Keep composio connections alive before dumping its per-toolkit prompts."],"tags":["rust","cli","argument-parsing","composio","conditional-requirement"],"backgroundTag":null,"analyzedSha":"a221052e0df5b1f7598fceba7329fd1af95d6699","analyzedAt":"2026-08-16T12:47:06.542Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}