aws-amplify / aws-amplify/amplify-cli
CLI v14.0.0 XAmzContentSHA256Mismatch error in Amplify Console - related to AWS SDK v3 bug
- Dominant language
- TypeScript
- Stars
- 2.9k
- Forks
- 825
- Avg merge
- 11d 23h
- Merged PRs (30d)
- 2
Description
### How did you install the Amplify CLI?
npm
### If applicable, what version of Node.js are you using?
v20.19.0
### Amplify CLI Version
14.0.0 (failing while deploying on Amplify Console) / 13.0.0 (working)
### What operating system are you using?
macOS
### Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No manual changes made
### Describe the bug
Amplify CLI v14.0.0 fails with XAmzContentSHA256Mismatch error only when deploying through Amplify Console. Local deployments using amplify push -y with CLI v14.0.0 work successfully. This appears to be related to the known AWS SDK v3 issue documented at https://github.com/aws/aws-sdk-js-v3/issues/6893. The error occurs during AppSync file uploads to S3 in the Console environment, specifically with complex GraphQL schemas that generate many files.
### Expected behavior
Amplify Console deployments should work with CLI v14.0.0 just as they do with v13.0.0 and as local deployments do with v14.0.0.
### Reproduction steps
- Reproducible only for specific backend environment deployment for large schema and resolver changes
### Project Identifier
_No response_
### Log output
```
# Put your logs below this line
2025-10-17T12:59:51.261Z [WARNING]: - Building resource auth/insightsportal
2025-10-17T12:59:56.640Z [WARNING]: - Building resource storage/insightsportal
2025-10-17T13:00:03.364Z [WARNING]: - Uploading files.
2025-10-17T13:00:07.482Z [WARNING]: @smithy/node-http-handler:WARN - socket usage at capacity=50 and 2344 additional requests are enqueued.
See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html
or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.
2025-10-17T13:00:09.424Z [WARNING]: ✖ There was an error initializing your environment.
2025-10-17T13:00:09.424Z [INFO]: 🛑 The provided 'x-amz-content-sha256' header does not match what was computed.
2025-10-17T13:00:09.425Z [INFO]: Learn more at: https://docs.amplify.aws/cli/project/troubleshooting/
DeploymentFault: The provided 'x-amz-content-sha256' header does not match what was computed.
at Object.run (/snapshot/amplify-cli/build/node_modules/@aws-amplify/amplify-provider-awscloudformation/lib/push-resources.js:362:11)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
The provided 'x-amz-content-sha256' header does not match what was computed.
2025-10-17T13:00:09.426Z [INFO]: XAmzContentSHA256Mismatch: The provided 'x-amz-content-sha256' header does not match what was computed.
at throwDefaultError (/snapshot/amplify-cli/build/node_modules/@smithy/smithy-client/dist-cjs/index.js:388:20)
at /snapshot/amplify-cli/build/node_modules/@smithy/smithy-client/dist-cjs/index.js:397:5
at de_CommandError (/snapshot/amplify-cli/build/node_modules/@aws-sdk/client-s3/dist-cjs/index.js:5202:14)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async /snapshot/amplify-cli/build/node_modules/@smithy/middleware-serde/dist-cjs/index.js:36:20
at async /snapshot/amplify-cli/build/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:484:18
at async /snapshot/amplify-cli/build/node_modules/@smithy/middleware-retry/dist-cjs/index.js:320:38
at async /snapshot/amplify-cli/build/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js:318:18
at async /snapshot/amplify-cli/build/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:110:22
at async /snapshot/amplify-cli/build/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:137:14
at async /snapshot/amplify-cli/build/node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js:33:22
at async Promise.all (index 0)
at async _Upload.__uploadUsingPut (/snapshot/amplify-cli/build/node_modules/@aws-sdk/lib-storage/dist-cjs/index.js:259:22)
at async _Upload.__doConcurrentUpload (/snapshot/amplify-cli/build/node_modules/@aws-sdk/lib-storage/dist-cjs/index.js:333:16)
at async Promise.all (index 0)
at async _Upload.__doMultipartUpload (/snapshot/amplify-cli/build/node_modules/@aws-sdk/lib-storage/dist-cjs/index.js:418:5)
at async _Upload.done (/snapshot/amplify-cli/build/node_modules/@aws-sdk/lib-storage/dist-cjs/index.js:233:12)
at async S3.uploadFile (/snapshot/amplify-cli/build/node_modules/@aws-amplify/amplify-provider-awscloudformation/lib/aws-utils/aws-s3.js:127:7)
at async upload (/snapshot/amplify-cli/build/node_modules/@aws-amplify/amplify-provider-awscloudformation/lib/upload-appsync-files.js:183:16)
at async handleFile (/snapshot/amplify-cli/build/node_modules/graphql-transformer-core/lib/util/fileUtils.js:87:16)
at async /snapshot/amplify-cli/build/node_modules/graphql-transformer-core/lib/util/amplifyUtils.js:245:9
at async Promise.all (index 96)
at async Object.uploadDeployment (/snapshot/amplify-cli/build/node_modules/graphql-transformer-core/lib/util/amplifyUtils.js:247:5)
at async uploadAppSyncFiles (/snapshot/amplify-cli/build/node_modules/@aws-amplify/amplify-provider-awscloudformation/lib/upload-appsync-files.js:172:5)
at async Object.run (/snapshot/amplify-cli/build/node_modules/@aws-amplify/amplify-provider-awscloudformation/lib/push-resources.js:211:5)
2025-10-17T13:00:09.445Z [INFO]: Session Identifier: f797cf35-ed1f-4707-bd94-6420e526bde2
2025-10-17T13:00:09.495Z [ERROR]: !!! Build failed
```
### Additional information
Related AWS SDK Issue: This appears to be related to https://github.com/aws/aws-sdk-js-v3/issues/6893 - SHA256 checksum mismatch in multipart uploads
Environment-specific: Only affects Amplify Console deployments, not local deployments
Local vs Console: amplify push -y with CLI v14.0.0 works locally but fails in Console
SDK Version Dependency: CLI v14.0.0 likely uses a newer AWS SDK v3 version that has this regression
Socket Exhaustion: Console environment hits socket limits (993 requests enqueued) during bulk file uploads
**Workarounds**
1. Use CLI v13.0.1 in Console for Amplify CI/CD build
2. Deploy the backend from local system using `amplify push -y` with Amplify CLI version `14.0.0` or latest and skip the backend deployment on Amplify Console as per [Automatic build-time generation of Amplify config (Gen 1 apps only)](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-config-autogeneration.html)
### Before submitting, please confirm:
- [x] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
- [x] I have removed any sensitive information from my code snippets and submission.
Contributor guide
Research direction
Start by tracing upload-appsync-files.js, aws-s3.js, and push-resources.js from the stack trace, then compare the CLI v14 dependency versions and Console behavior with v13. Reproduce a large schema deployment if possible and inspect the AWS SDK multipart upload and socket warnings. Done means Console deployments complete without the checksum mismatch while local deployments continue to work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, graphql, node.js, typescript
- Domain
- backend, cli, cloud
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100