AWS Developer Tools Blog
AWS CLI v1 maintenance mode: announcing changes to dependency updates
When version 1 of the AWS Command Line Interface (AWS CLI v1) enters maintenance mode on July 15, 2026, the way its botocore and s3transfer dependencies are bundled will change. This post explains these changes and provides steps to minimize impacts on your workflows and applications. For more information about AWS CLI v1 maintenance mode, refer to the blog post CLI v1 Maintenance Mode Announcement.
Background
The AWS CLI v1 is built on top of two foundational Python libraries:
- botocore is the low-level library that provides AWS service definitions, request signing, response parsing, and retry logic. When AWS launches a new service or adds new API operations to an existing service, those changes are delivered through botocore updates.
- s3transfer is the library that manages Amazon S3 file transfers, including multipart uploads, parallel downloads, and transfer configuration. High-level S3 commands in the AWS CLI rely on s3transfer, such as
aws s3 cpandaws s3 sync.
What’s happening?
Currently, each version of the AWS CLI v1 depends on specific versions of botocore and s3transfer. These dependencies are installed as separate packages. This means that upgrading the AWS CLI v1 also brings in a newer version of these packages. Starting with maintenance mode, botocore and s3transfer will be vendored (bundled and packaged directly) into the AWS CLI v1 codebase. The AWS CLI v1 will no longer rely on the standalone packages. This represents a significant shift in how dependencies are managed within the AWS CLI v1.
If you rely on automatic dependency updates when upgrading the AWS CLI v1, this behavior will change. The AWS CLI v1 will include its own internal copies of botocore and s3transfer. Updates to these internal copies will only occur when AWS releases a new version of CLI v1. Installing or upgrading the standalone botocore or s3transfer packages will have no effect on the versions used by the AWS CLI v1.
botocore and s3transfer will continue to be developed and released as separate packages, because they are also dependencies of the AWS SDK for Python (boto3). However, those standalone package updates will not affect the AWS CLI v1—the CLI will only use its own bundled copies.
How you may be affected
Upgrading the AWS CLI v1 will no longer upgrade the standalone botocore and s3transfer packages. The AWS CLI v1 will use only its own internal copies, and the standalone packages will remain at whatever version is independently installed.
If your environment has both the AWS CLI v1 and boto3 installed, they will each use their own separate copies of botocore and s3transfer. Updating either the AWS CLI or boto3 will not affect the other’s dependencies. Additionally, because the AWS CLI v1 will bundle its own copies of botocore and s3transfer alongside the standalone packages used by boto3, environments with both installed will contain two copies of these libraries.
Updates to the standalone botocore and s3transfer packages will continue as before, since they are also dependencies of boto3. However, those updates will not reach the AWS CLI v1 unless a new AWS CLI v1 version is released with updated internal copies. As described in the maintenance mode announcement, new AWS CLI v1 versions will only be released to address critical bug fixes and security issues.
Recommended actions
To stay updated with the latest AWS services and features, we recommend that you migrate to AWS CLI v2. To learn more about transitioning to AWS CLI v2, refer to the Migration guide for the AWS CLI version 2. Additionally, verify if your workflows rely on botocore or s3transfer brought into your environment via the AWS CLI v1. If you have other applications in the same environment that consume them, you may need to explicitly pin their dependency versions. Be sure to validate your existing scripts and automation with the new maintenance mode releases. Last, monitor the AWS CLI changelog to stay informed about new AWS CLI v1 versions and vendored dependency updates.
Conclusion
As the AWS CLI v1 enters maintenance mode on July 15, 2026, the botocore and s3transfer dependencies will be vendored, which may affect your workflows and scripts. While the CLI v1 will continue to receive critical updates, we encourage you to migrate to AWS CLI v2 for the latest features and improvements.
Feedback
If you need migration assistance or have feedback, reach out to your usual AWS support contacts. You can also open an issue on GitHub. Thank you for using the AWS CLI!