The Composio CLI supports pinning specific toolkit versions using environment variables. This allows you to control which version of each toolkit is used when generating type definitions.Documentation 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.
Overview
Toolkit versions determine the available tools and their schemas for each integration. By default, the CLI uses thelatest version for all toolkits. You can override this behavior to:
- Pin specific versions for reproducible builds
- Test against older versions for compatibility
- Preview new features in specific toolkit versions
Toolkit version overrides only apply when using the
--type-tools flag with composio generate or composio ts generate.Environment Variable Format
To override a toolkit version, set an environment variable:<TOOLKIT_SLUG>- Uppercase toolkit name (e.g.,GMAIL,GITHUB,SLACK)<version>- Version identifier orlatest
Examples
Pin a Single Toolkit
20250901_00 and latest for all others.
Pin Multiple Toolkits
Use Latest Version Explicitly
Mixed Versions
Version Discovery
To find available versions for a toolkit:Validation
The CLI validates toolkit version overrides before fetching data:- Detects overrides from environment variables
- Logs detected versions for transparency
- Validates against API to ensure versions exist
- Warns about unused overrides when using
--toolkitsfilter
Behavior with —type-tools
With —type-tools (Versions Apply)
When using--type-tools, the CLI fetches full tool schemas with version support:
- Fetches Gmail toolkit version
20250901_00 - Generates full type definitions for tools in that version
- Includes input/output schemas
Without —type-tools (Versions Ignored)
Without--type-tools, the CLI only fetches tool names (not full schemas), so versions don’t apply:
- Fetches Gmail toolkit metadata (no version)
- Generates tool name enums only (e.g.,
GMAIL_SEND_EMAIL) - No input/output schemas
Version Map Output
When version overrides are applied, the generated code includes a version map: TypeScript output:Use Cases
Reproducible Builds
Pin toolkit versions in CI/CD for consistent builds:Testing Against Older Versions
Test compatibility with a previous toolkit version:Preview New Features
Test new toolkit features before they’re widely available:Version Lock File
Create a version lock file for your project:Filtering and Versions
When using--toolkits to filter generation, the CLI warns about unused version overrides:
slack override is ignored because slack is not in the --toolkits filter.
Version Naming Convention
Composio toolkit versions follow the format:YYYYMMDD- Release date (e.g.,20250901= September 1, 2025)NN- Revision number (e.g.,00,01)
20250901_00- First release on September 1, 202520250901_01- Second release on September 1, 2025latest- Most recent version
Troubleshooting
Invalid Version
If you specify a non-existent version:composio toolkits version gmail to list available versions.
Version Override Ignored
If your version override doesn’t apply:--type-tools flag is missing.
Solution: Add --type-tools:
Case Sensitivity
Environment variable names are case-sensitive:Related Commands
composio generate- Generate types with version control
Next Steps
Environment Variables
Configure the CLI
Generate Command
Generate type-safe code