More than 1,000 toolkits replace hand-built app connectors
Composio gives agents a catalog of more than 1,000 app toolkits behind TypeScript and Python SDKs. A developer creates a session for a user, hands its tools to an agent framework, and lets the session discover or execute the relevant action. The repository also contains a CLI and adapters for OpenAI, Anthropic, Google, LangChain, LlamaIndex, and other frameworks. This is attractive when the alternative is maintaining OAuth callbacks, refresh logic, schemas, and vendor API changes across many services.
The catalog's size is also a reason to be selective. Loading every tool definition into a model would waste context and make tool choice harder, so sessions start with meta tools that discover, authenticate, and call app tools at runtime. The README says a session can be restricted by toolkit, authentication configuration, and connected account. Store its identifier and reuse it across turns. That user boundary is useful, but an application still has to map its own user identity to the right session.
One hosted session can expose tools through SDKs or MCP
A session can return native framework tools or a hosted MCP URL. That gives Claude, Cursor, or another MCP client access without a custom provider adapter. The same repository ships a command-line client that can search, link, execute, and script tools. For a team supporting several agent runtimes, one connection layer is easier to reason about than separate integration code inside every agent.
The quickstart is tied to Composio's service. It begins with a COMPOSIO_API_KEY from the dashboard, while actual app work needs connected accounts and any model-provider credentials your agent uses. The hosted dependency may be fine for a product that wants managed authentication. A company with a strict self-hosting rule should stop here: the README presents hosted sessions and hosted MCP, and our scan found no Dockerfile in the 3,221-file checkout.
What happened when we ran it
Our sandbox installed 910 pnpm packages in 95 seconds, and the resulting dependency tree used 2,280 MB on disk. The build ran for 49 seconds. Eighteen of 19 tasks succeeded, including the CLI compilation, before the CLI package invoked bun; the shell returned bun: not found, and pnpm exited with code 1. That is the complete cause shown in the supplied log tail.
Tests also exited with code 1 after 29 seconds. Several install-script checks passed first, including release resolution, layout, security, shell variants, and atomic replacement under sh and dash. The next command was bun run test/release-workflow.test.ts, which stopped because Bun was missing. The log also warned that Node 24.17.0 or newer and below 25 was required, while the sandbox ran Node 22.23.2.
Node 24.17 and Bun matter when working on the monorepo
The top-level README says the TypeScript SDK is tested on Node 22 or newer and recommends mise install for its pinned toolchain. Our test output was more specific: one project required Node 24.17.0 through the 24.x line. That mismatch matters for contributors following the broad README statement. Using the pinned toolchain is the safer route, and Bun must be available for the CLI release workflow reached by both commands.
This was a large source checkout before dependencies arrived: 3,221 files, about 289,701 source lines, and 120.9 MB. It contains TypeScript and Python workspaces, 36 CI workflow files, and a tests directory. Our fresh Debian container had 3 CPUs, 8 GB of RAM, no secrets, and no elevated privileges. We did not connect an app, run an agent, or judge the hosted service's latency from this repository check.
API v3.1 can mark an unverified static key ACTIVE
Open issue 4120 reports that API v3.1 accepted deliberately invalid static credentials and returned an ACTIVE connected-account status even when validate_credentials was true. The reporter reproduced the behavior through raw HTTP, the dashboard, and the TypeScript SDK. Their practical warning is precise: for the affected static schemes, ACTIVE can mean the credential was stored, while the bad key surfaces only when a vendor action later returns an authorization error.
Two other reports matter for action reliability. Issue 4148 documents a Google Calendar input that created events 2 hours early when an offset-bearing datetime and a timezone field were both supplied. Issue 4207 reports roughly 40% HTTP 429 responses from Cloudflare Workers egress during the reporter's probe, without the documented rate-limit headers. These are issue reports rather than our sandbox findings, yet each includes a reproduction narrow enough to test before launch.
August 2026 activity is high, while write verification remains necessary
GitHub listed 29,885 stars and 68 combined issues and pull requests when we fetched the repository. The last push was August 26, 2026, and current issues had activity that same day. The latest release was CLI 0.4.0 on August 23, with a fix for refreshing the toolkit catalog. Those dates support a healthy maintenance judgment; the 68-item count should not be read as 68 confirmed bugs.
Composio is easiest to justify when integration breadth is already blocking an agent product. Its sessions, framework adapters, CLI, and MCP route cover several ways developers actually ship agents. The cost is dependence on a hosted action and authentication layer, plus a source toolchain heavier than the README's short development block suggests. Start with a limited toolkit set, use test accounts, read back consequential writes, and make credential verification part of your application rather than trusting status alone.

