The Composio CLI exposes a set of commands for interacting with Composio from your terminal. Each command is designed to work standalone or as a tool surface for Claude Code agents. All commands require authentication (viaDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ComposioHQ/composio/llms.txt
Use this file to discover all available pages before exploring further.
composio login) unless noted otherwise, and support --help / --help full for additional detail.
Command reference
| Command | Description |
|---|---|
composio login | Authenticate with Composio via browser OAuth |
composio logout | Remove stored credentials |
composio whoami | Show the current authenticated user and organization |
composio version | Print the installed CLI version |
composio upgrade | Upgrade to the latest (or a specific) CLI release |
composio search <query> | Find tools by natural language use case |
composio execute <TOOL_SLUG> | Execute a tool by slug with JSON input |
composio link <toolkit> | Connect an external app account via OAuth |
composio proxy <url> | Call a provider API endpoint with Composio-managed auth |
composio run '<script>' | Run inline TypeScript/JS with injected Composio globals |
composio --install-skill <skill> <client> | Install a skill for an AI client such as Claude Code |
Commands
composio login
composio login
Authenticate with Composio. By default, opens your browser for an OAuth flow and waits for confirmation. Credentials are stored locally and reused by all subsequent commands.Flags
Examples
composio login also installs the composio-cli skill for Claude Code automatically after a successful login, unless you pass --no-skill-install.Usage| Flag | Description |
|---|---|
--no-browser | Print the login URL instead of opening the browser automatically |
--no-wait | Print the login URL and session info as JSON, then exit without waiting |
--poll | Complete a pending browser login that was started with --no-wait |
--key <key> | Complete login using a specific session key from a prior --no-wait run |
--user-api-key <key> | Log in directly with a Composio user API key (skips browser) |
--org <id|name> | Override the current organization (requires --user-api-key) |
-y, --yes | Skip the org picker and use the session default org |
--no-skill-install | Skip installing the composio-cli skill for Claude Code |
--agent | Sign up or log in using a Composio agent identity |
composio logout
composio logout
Remove your locally stored Composio credentials. If you are logged in as an agent identity, you will be prompted to confirm before the agent key is deleted, because the key cannot be recovered without the original Flags
Example
composio_agent_key.Usage| Flag | Description |
|---|---|
-f, --force | Skip confirmation prompts |
composio whoami
composio whoami
Display your current authenticated user, organization, and account type. Never prints or exposes API keys. Prints a JSON summary to stdout for scripting.UsageOutput fields
Example
| Field | Description |
|---|---|
account_type | "human" or "agent" |
email | Email address associated with the account |
current_org_name | The currently selected organization |
enhanced_controls_enabled | Whether enhanced permission controls are active |
composio version
composio version
Print the installed Composio CLI version to stdout.UsageExample
composio upgrade
composio upgrade
Upgrade the Composio CLI to the latest available release, or install a specific version. After upgrading, the CLI automatically re-installs the Claude Code skill for the new version.UsageArguments
Flags
Examples
| Argument | Description |
|---|---|
version | Optional. A specific release to install, e.g. 0.13.1, 0.13.1-beta.42, or the full tag @composio/cli@0.13.1. Omit to install the latest stable release. |
| Flag | Description |
|---|---|
-b, --beta | Upgrade to the latest beta release instead of the stable channel |
composio search <query>
composio search <query>
Semantically search for Composio tools using natural language. Describe what you want to do and the CLI returns matching tool slugs, their schemas, connection status for your linked accounts, and suggested next steps.By default, the output is full JSON (optimized for Claude Code to consume). Pass Arguments
Flags
Examples
--human for a formatted table view.Usage| Argument | Description |
|---|---|
query | One or more natural language use-case descriptions. Multiple queries are searched in parallel. |
| Flag | Description |
|---|---|
--toolkits <slugs> | Filter results to specific toolkit slugs, comma-separated (e.g. gmail,outlook) |
--limit <n> | Number of results per query (1–1000, default 10) |
--human | Show a formatted human-readable table instead of JSON |
--json | Force full JSON output (default when --human is not set) |
composio execute <TOOL_SLUG>
composio execute <TOOL_SLUG>
Execute a Composio tool by its slug. Input arguments are provided as a JSON (or JS-style object literal) string. The CLI validates inputs against cached tool schemas and checks that the required app account is connected before calling the tool.UsageArguments
Flags
Examples
| Argument | Description |
|---|---|
TOOL_SLUG | The tool identifier (e.g. GMAIL_FETCH_EMAILS, GITHUB_CREATE_ISSUE) |
| Flag | Description |
|---|---|
-d, --data <json> | JSON arguments for the tool, a @file path, or - to read from stdin |
--get-schema | Fetch and print the tool’s input schema without executing |
--dry-run | Validate inputs and preview the call without executing |
--file <path> | Inject a local file path into the single file_uploadable input field |
--account <selector> | Select a specific connected account by alias, word_id, or account ID |
-p, --parallel | Execute multiple TOOL_SLUG -d <json> groups concurrently |
--skip-connection-check | Skip the connected-account fail-fast check |
--skip-tool-params-check | Skip input validation against cached schema |
--skip-checks | Skip both the connection check and input validation |
composio link <toolkit>
composio link <toolkit>
Connect an external app account (Gmail, GitHub, Slack, and 250+ others) so Composio tools can act on your behalf. Opens a browser for OAuth authorization and waits until the connection is confirmed active.UsageArguments
Flags
Examples
| Argument | Description |
|---|---|
toolkit | The toolkit slug to connect (e.g. gmail, github, slack) |
| Flag | Description |
|---|---|
--no-wait | Print the authorization URL and exit without waiting for confirmation |
--list | List existing active connected accounts for the toolkit instead of creating a new one |
--alias <name> | Assign an alias to the connected account. Required when creating a second account for the same toolkit. |
composio proxy <url>
composio proxy <url>
Call a provider’s REST API endpoint using Composio-managed authentication for a connected account. Composio injects the auth headers automatically — you provide the URL, method, and body in a curl-like style.UsageArguments
Flags
Examples
| Argument | Description |
|---|---|
url | The full absolute API endpoint URL |
| Flag | Description |
|---|---|
--toolkit, -t <slug> | Required. The toolkit whose connected account should supply auth |
-X, --method <method> | HTTP method: GET, POST, PUT, DELETE, PATCH (default: GET) |
-H, --header <header> | Header in "Name: value" format. Repeat for multiple headers. |
-d, --data <body> | Request body as raw text, JSON, a @file path, or - for stdin |
--skip-connection-check | Skip the fail-fast connection check (useful if you just linked an account) |
composio run '<script>'
composio run '<script>'
Run an inline TypeScript/JavaScript script (or a file with Injected globals
Each result returned by
Examples
--file) with Composio helpers injected as globals. Use this for multi-step workflows, parallel fan-out, data transformation, or LLM-assisted summarization inside Claude Code.Usage| Global | Description |
|---|---|
execute(slug, data?) | Execute a Composio tool. Same behavior as composio execute. Returns a result object with a .prompt() method for serialization. |
search(query, options?) | Search for tools. Same behavior as composio search. Returns a result object with a .prompt() method. |
proxy(toolkit) | Returns a fetch-like function authenticated with your connected account for that toolkit. |
experimental_subAgent(prompt, options?) | Spawn a sub-agent from the same agent family (Claude → Claude, Codex → Codex) with optional Zod structured output. |
z | The zod library, for building structured output schemas. |
execute() and search() has a .prompt() method that serializes it into a prompt-safe string, suitable for passing to experimental_subAgent().Flags| Flag | Description |
|---|---|
-f, --file <path> | Run a TypeScript/JS file instead of inline code |
--debug | Log helper steps while the script runs |
--dry-run | Preview execute() calls without running them |
--logs-off | Hide streaming logs from experimental_subAgent; keep them only in the run log file |
--skip-connection-check | Skip the connected-account check |
--skip-tool-params-check | Skip input validation against cached schema |
--skip-checks | Skip both the connection check and input validation |
composio --install-skill <skill> <client>
composio --install-skill <skill> <client>
Install a skill for an AI client. Skills are instruction sets that teach the AI client how to use a specific Composio capability from the command line. Arguments
ExamplesThis command is also run automatically by
composio login installs the composio-cli skill for Claude Code automatically. Use this command to (re-)install it manually or to target a different client.Usage| Argument | Description |
|---|---|
skill | The skill name to install (e.g. composio-cli). Optional — if omitted, the default skill for the target client is installed. |
client | The AI client to install the skill for. Supported values: claude, codex, openclaw. |
composio login and composio upgrade.Getting help
Use--help on any command or subcommand to see full usage details. The --help full variant shows all flags including advanced and developer-facing options:
composio dev namespace: