Limitation: CLI requires Node.js version 18.0.0 or above (recommended: 20.x or 22.x)
Impact: CLI won't work with Node.js versions below 18.0.0
Workaround:
nvm install 20
nvm use 20
Related Commands:
Version Information: All CLI versions
Tags: nodejs, version, compatibility, prerequisites
Limitation: CLI is tested and supported on:
Impact: Other operating systems may work but are not officially supported
Workaround:
Related Commands:
Version Information: All CLI versions
Tags: operating system, platform, compatibility
Limitation: Management tokens don't expire automatically but can be revoked
Impact: Tokens remain valid until manually revoked, which can be a security risk
Workaround:
Related Commands:
Version Information: All CLI versions
Tags: authentication, management token, security, expiration
Limitation: MFA requires manual code entry or OAuth flow
Impact: Cannot fully automate MFA-enabled accounts without MFA secret
Workaround:
Related Commands:
Version Information: All CLI versions
Tags: authentication, MFA, 2FA, OAuth
Limitation: CLI doesn't have built-in organization switcher
Impact: Must logout/login or use different token aliases to switch organizations
Workaround:
Related Commands:
Version Information: All CLI versions
Tags: authentication, organizations, switching
Limitation: The following modules cannot be exported:
Impact: User data and release information cannot be migrated via CLI
Workaround:
Related Commands:
Version Information: All versions
Tags: export, unsupported, users, releases
Limitation: If multiple assets have the same UID and file name, only the first asset will be exported
Impact: Duplicate assets may not all be exported
Workaround:
Related Commands:
Version Information: All versions
Tags: export, assets, duplicates, UID
Limitation: Default maxContentLength and maxBodyLength is 100 MB
Impact: Large exports may fail with payload size errors
Workaround:
{
"maxContentLength": 200000000,
"maxBodyLength": 200000000
}
Related Commands:
Tags: export, payload size, maxContentLength, maxBodyLength
Limitation: Export operations may encounter concurrency issues
Impact: Large exports may fail or be throttled
Workaround:
Related Commands:
Tags: export, delayMs, concurrency, rate limits
Limitation: Only the latest version of published entries and assets is exported
Impact: Historical versions are not preserved during export
Workaround:
Related Commands:
Version Information: All versions
Tags: export, version history, entries, assets
Limitation: Only the latest version of published entries and assets is imported
Impact: Historical versions are not restored during import
Workaround:
Related Commands:
Version Information: All versions
Tags: import, version history, entries, assets
Limitation: CS Assets mode does not activate when using a management token (-a <alias>). The CLI reads linked workspaces from branch settings, which is not supported with management tokens. The export falls back to legacy asset mode.
Impact: Stacks with cs-assets enabled export using the legacy assets/ directory instead of the CS Assets spaces/ directory.
Workaround: Use session-based authentication for cs-assets stacks:
csdx auth:login
csdx cm:stacks:export -k <stack-api-key> --data-dir ./export
Related Documentation: CLI for CS Assets
Version Information: All versions
Tags: export, cs-assets, management token, authentication
Limitation: When importing workflows, admins and workflow stage users are not included in the migration
Impact: Workflow configurations are imported but user assignments are lost
Workaround:
Related Commands:
Tags: import, workflows, users, migration
Limitation: Default maxContentLength and maxBodyLength is 100 MB
Impact: Large imports may fail with payload size errors
Workaround:
{
"maxContentLength": 200000000,
"maxBodyLength": 200000000
}
Related Commands:
Tags: import, payload size, maxContentLength, maxBodyLength
Limitation: Import operations may encounter concurrency issues
Impact: Large imports may fail or be throttled
Workaround:
Related Commands:
Tags: import, delayMs, concurrency, rate limits
Limitation: The following modules cannot be imported:
Impact: User data and release information cannot be migrated via CLI
Workaround:
Related Commands:
Version Information: All versions
Tags: import, unsupported, users, releases
Limitation: Only three modules can be directly selected for import-setup:
Impact: Other modules cannot be directly selected for import-setup
Workaround:
Code Evidence:
Related Commands:
Version Information: All versions
Tags: import-setup, modules, selective import
Limitation: When multiple assets in the target stack match a source asset (same title, filename, file_size), import-setup cannot automatically determine which one to use. These duplicates are recorded in duplicate-assets.json but are NOT added to uid-mapping.json.
Impact:
Workaround:
Code Evidence:
Related Commands:
Version Information: All versions
Tags: import-setup, assets, duplicates, uid-mapping
Limitation: Some modules with complex dependencies may require manual intervention
Impact: Import-setup may not handle all dependency scenarios automatically
Workaround:
Related Commands:
Version Information: All versions
Tags: import-setup, dependencies, automation
Limitation: Processing thousands of items can take 10+ minutes
Impact: Import-setup operations may be slow for large stacks
Workaround:
Related Commands:
Version Information: All versions
Tags: import-setup, performance, large exports
Limitation: Export directory structure must match branch structure for branch imports
Impact: Branch imports may fail if directory structure doesn't match
Workaround:
Related Commands:
Version Information: All versions
Tags: import-setup, branch, directory structure
Limitation: During cm:stacks:import, assets are not published in the same run when asset scanning applies. This happens either because --skip-assets-publish was passed explicitly, or because the org plan has asset scanning enabled, which sets the same flag automatically. Org-plan auto-detection of asset scanning is rolling out and is not yet active for every org plan.
Impact: Assets are imported but remain unpublished until a separate publish step runs after scanning completes.
Workaround: See Asset Scan In-Queue Assets Are Not Retried for the wait-and-republish steps, since the same retry behavior applies here.
Related Commands:
Related Documentation: Asset Scanning in CLI
Version Information: All versions with asset scanning enabled
Tags: asset scanning, import, skip-assets-publish, backup-dir
Limitation: The process requires access to properly formatted exported content before running the command
Impact: Overwrite operations may fail if export structure is incorrect
Workaround:
Related Commands:
Version Information: All versions
Tags: overwrite, export structure, migration
Limitation: Duplicate assets in the target stack are uploaded to a new folder, which can lead to redundancy. A resolution is under development.
Impact: Duplicate assets may be created during overwrite operations
Workaround:
Related Commands:
Version Information: All versions
Tags: overwrite, assets, duplicates
Limitation: Currently, the import-setup command supports only content types, entries, global fields, and extensions. Modules with complex dependencies are not yet included.
Impact: Some modules cannot be overwritten automatically
Workaround:
Related Commands:
Version Information: All versions
Tags: overwrite, modules, import-setup
Limitation: Overwriting certain modules requires manual intervention due to the absence of an automated overwrite command
Impact: Some overwrite operations cannot be fully automated
Workaround:
Related Commands:
Version Information: All versions
Tags: overwrite, manual intervention, automation
Limitation: Migration of extensive content or assets may be time-consuming and requires accuracy verification
Impact: Large overwrite operations may take significant time
Workaround:
Related Commands:
Version Information: All versions
Tags: overwrite, large datasets, performance
Limitation: Additional manual effort may be necessary to map deeply nested or interdependent modules correctly
Impact: Complex relationships may not be overwritten correctly
Workaround:
Related Commands:
Version Information: All versions
Tags: overwrite, relationships, dependencies
Limitation: Bulk publish operations process entries/assets in batches
Impact: Very large operations may take time
Workaround:
Related Commands:
Version Information: All versions
Tags: bulk publish, batch size, performance
Limitation: When a stack has asset scanning enabled, cm:assets:publish skips any asset that is still in the scan queue (pending) at the time the command runs. The retry loop that would otherwise wait and recheck pending assets is present in the code but configured with zero retries in this release, so it never executes.
Impact: In-queue assets are skipped and logged as "Skipped (max retries exceeded)" on the same run, even though the underlying scan may finish moments later.
Workaround:
Related Commands:
Related Documentation: Asset Scanning in CLI
Version Information: All versions with asset scanning enabled
Tags: asset scanning, bulk publish, quarantine, in-queue
Limitation: The csdx cm:stacks:clone command does not export or import cs-assets space-based assets. Clone internally runs export then import, but neither step activates cs-assets mode — the spaces/ directory is never written, and any existing cs-assets spaces on the source branch are silently skipped.
Impact: If the source stack uses cs-assets, the cloned stack will not contain the spaces/ directory or any cs-assets data. Only the legacy assets/ structure is cloned.
Workaround: Run export and import as separate commands to migrate cs-assets:
csdx auth:login
csdx cm:stacks:export -k <source-api-key> --data-dir ./export
csdx cm:stacks:import -k <target-api-key> --data-dir ./export
Related Commands:
Related Documentation: CLI for CS Assets
Version Information: All versions
Tags: clone, cs-assets, space-based assets
Limitation: Bulk publish operations are environment-specific
Impact: Must specify environment for each operation
Workaround:
Related Commands:
Version Information: All versions
Tags: bulk publish, environments
Limitation: The branch UID must be in lower case, and only '_' can be used to separate two words
Impact: Invalid UID formats will cause branch creation to fail
Workaround:
Related Commands:
Version Information: All versions
Tags: branch, UID, format, naming
Limitation: The maximum character length for a branch UID is 15
Impact: Branch UIDs longer than 15 characters will be rejected
Workaround:
Related Commands:
Version Information: All versions
Tags: branch, UID, length, limits
Limitation: The maximum number of branches allowed per stack depends on the product tier
Impact: Stack may reach branch limit based on subscription tier
Workaround:
Related Commands:
Version Information: All versions
Tags: branch, limits, product tier, subscription
Limitation: Once you create a branch, you cannot edit its name or the source branch
Impact: Branch configuration cannot be changed after creation
Workaround:
Related Commands:
Version Information: All versions
Tags: branch, edit, name, source branch
Limitation: Creating a new Launch environment via the CLI is currently not supported. At this time, environment creation is a one-time setup that must be done through the Launch UI. Once the environment is created, the Launch CLI can be used to trigger redeployments on existing environments.
Impact: Cannot create new environments via CLI
Workaround:
Related Commands:
Version Information: All versions
Tags: launch, environment, creation, UI
Limitation: Currently, the Launch CLI does not support Bitbucket Cloud as a source provider
Impact: Cannot use Bitbucket Cloud repositories with Launch CLI
Workaround:
Related Commands:
Version Information: All versions
Tags: launch, Bitbucket, source provider
Limitation: Currently, the Launch CLI does not support modifying settings for existing projects or environments. To make these changes, please use the Launch UI.
Impact: Cannot modify project or environment settings via CLI
Workaround:
Related Commands:
Version Information: All versions
Tags: launch, settings, configuration, UI
Limitation: Custom migration scripts require NODE_PATH environment variable to be set
Impact: Migration scripts may fail with "module not found" errors
Workaround:
export NODE_PATH="$(npm root -g @contentstack/cli)/@contentstack/cli/node_modules"
Related Commands:
Version Information: All versions
Tags: migration, NODE_PATH, module not found
Limitation: Complex migration scripts may have performance issues
Impact: Large migrations may be slow or fail
Workaround:
Related Commands:
Version Information: All versions
Tags: migration, performance, complexity
Limitation: Avoid importing duplicate content types into existing stacks
Impact: Duplicate content types may cause conflicts or errors
Workaround:
Related Commands:
Version Information: All versions
Tags: bootstrap, content types, duplicates
Limitation: To create new stacks, ensure your role is set to Owner or Admin in the organization
Impact: Users without Owner/Admin role cannot create stacks via bootstrap
Workaround:
Related Commands:
Version Information: All versions
Tags: bootstrap, roles, permissions, owner, admin
Limitation: Deprecated starter apps (reactjs-starter, nextjs-starter, gatsby-starter, angular-starter, nuxt-starter, vue-starter, stencil-starter, nuxt3-starter) are still available but not recommended for new projects
Impact: Deprecated apps may not receive updates or support
Workaround:
Related Commands:
Version Information: All versions
Tags: bootstrap, deprecated, starter apps, migration
Limitation: Seed command requires GitHub repository with specific structure
Impact: Repositories not following structure may fail
Workaround:
Related Commands:
Version Information: All versions
Tags: seed, GitHub, repository structure
Limitation: RTE migration requires content types with HTML RTE fields
Impact: Content types without HTML RTE fields cannot be migrated
Workaround:
Related Commands:
Version Information: All versions
Tags: RTE migration, HTML RTE, content types
Limitation: RTE migration processes all entries in content type
Impact: Cannot selectively migrate specific entries
Workaround:
Related Commands:
Version Information: All versions
Tags: RTE migration, selective migration
Limitation: Entry migration has limitations similar to general import limitations
Impact: Same limitations as import module apply
Workaround:
Related Commands:
Version Information: All versions
Tags: entry migration, import limitations
Limitation: Audit may not detect all issues
Impact: Some issues may require manual review
Workaround:
Related Commands:
Version Information: All versions
Tags: audit, scope, detection
Limitation: Audit fix may not resolve all issues automatically
Impact: Some issues require manual intervention
Workaround:
Related Commands:
Version Information: All versions
Tags: audit, fix, automation
Limitation: Variants and Personalize currently support only basic authentication (login)
Impact: Cannot use management tokens for variants operations
Workaround:
Code Evidence:
Related Commands:
Version Information: All versions
Tags: variants, Personalize, authentication, login
Limitation: Variants are exported/imported as part of entries
Impact: Cannot export/import variants independently
Workaround:
Related Commands:
Version Information: All versions
Tags: variants, entries, export, import
Limitation: Apps CLI requires login (management tokens not supported)
Impact: Cannot fully automate Apps CLI operations with management tokens
Workaround:
Related Commands:
Version Information: All versions
Tags: apps cli, authentication, login, developer hub
Limitation: App names must be 3-20 characters long
Impact: App names outside this range will fail
Workaround:
Related Commands:
Version Information: All versions
Tags: apps cli, app name, constraints
Limitation: TSGen plugin must be installed separately
Impact: TSGen commands won't work without plugin installation
Workaround:
Related Commands:
Version Information: All versions
Tags: tsgen, plugin, installation
Limitation: Type generation is based on current stack structure
Impact: Types may not reflect all possible content structures
Workaround:
Related Commands:
Version Information: All versions
Tags: tsgen, type generation, scope
Limitation: Very large configuration files may cause issues
Impact: Large configs may slow down operations
Workaround:
Related Commands:
Version Information: All versions
Tags: configuration, file size, performance
Limitation: Rate limit configuration applies globally
Impact: Cannot set different rate limits for different operations
Workaround:
Related Commands:
Version Information: All versions
Tags: configuration, rate limit, global settings