@arikfr/composio-cli
v0.1.0
Published
CLI for listing and invoking Composio toolkits/tools via @composio/core
Readme
composio-cli
CLI for listing Composio toolkits/tools and executing tools using @composio/core.
Requirements
- Node.js 18+
- A Composio API key
Install
Local usage:
npm install
node src/cli.js --helpGlobal-style usage in this repo:
npm link
composio-cli --helpAuthentication
Set your API key via environment variable or flag:
export COMPOSIO_API_KEY=your_keyOr pass --api-key on each command.
Commands
List toolkits
composio-cli toolkits
composio-cli toolkits --category developer-tools --sort-by usage
composio-cli toolkits --slug githubGet tool input schema (possible arguments)
composio-cli schema --tool GITHUB_GET_REPOS
composio-cli schema --tool GITHUB_GET_REPOS --fullList connected accounts
composio-cli connections --user user_123
composio-cli connections --user user_123 --toolkits twitter,gmail --statuses ACTIVE
composio-cli connections --user user_123 --fullYou can filter by status with --statuses (comma-separated): ACTIVE, INITIATED, INACTIVE, FAILED, EXPIRED, INITIALIZING.
Get auth URL (only if not authenticated)
composio-cli auth-url --user user_123 --toolkit github- If the user already has an ACTIVE connection, the command returns
authenticated: trueand the existing connection IDs. - Otherwise it returns
authenticated: falsewith aredirectUrlto complete the connection. - Add
--forceto always create a new connection request. - Add
--auth-config-idto scope both the check and request.
List tools
# By toolkit
composio-cli tools --user user_123 --toolkits github,slack --limit 10
# By specific tool slugs
composio-cli tools --user user_123 --tools GITHUB_GET_REPOS,SLACK_SEND_MESSAGE
# Search (standalone)
composio-cli tools --user user_123 --search "issue"
# Tags (optionally with toolkit)
composio-cli tools --user user_123 --tags important
# All tools enum
composio-cli tools --user user_123 --allNotes:
--searchcannot be combined with other filters.--toolscannot be combined with other filters.--scopesrequires exactly one toolkit in--toolkits.
Execute tool
composio-cli execute \
--user user_123 \
--tool GITHUB_GET_REPOS \
--args '{"owner":"composio"}'You can also pass args via a file:
composio-cli execute --user user_123 --tool GITHUB_GET_REPOS --args-file ./args.jsonToolkit versions
If you want to pin toolkit versions at SDK init:
composio-cli --toolkit-versions '{"github":"20250909_00"}' toolkitsWhen executing tools manually, you can also pass --version or use --skip-version-check if you understand the risk of running latest.
Output
All commands emit JSON. Use --raw for compact output suitable for piping.
