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