Amazon Web Services · sdk · fg-0182
S3 uploads to Cloudflare R2, MinIO, or other S3-compatible storage fail after upgrading the AWS SDK in January 2025
501 NotImplemented: Header 'x-amz-checksum-crc32' with value (...) not implemented
Verified 2026-10-15 · Confirmed by 0 builders · Trust 50/100
Cause
New SDK releases turned on CRC checksums by default for every upload and checksum validation for downloads. Many S3-compatible services do not accept the extra checksum headers or trailers.
Fix
For non-AWS endpoints, set request and response checksum behavior to WHEN_REQUIRED in the client config, or through the shared config file or environment variables. Keep the default for real Amazon S3.
Apply
const s3 = new S3Client({
endpoint: process.env.S3_ENDPOINT,
region: 'auto',
requestChecksumCalculation: 'WHEN_REQUIRED',
responseChecksumValidation: 'WHEN_REQUIRED',
});
// or: export AWS_REQUEST_CHECKSUM_CALCULATION=when_required AWS_RESPONSE_CHECKSUM_VALIDATION=when_requiredAffects: AWS SDK for JavaScript v3 3.729.0 and later; boto3 and botocore 1.36.0 and later; other SDKs and AWS CLI releases from December 2024 onward
Sources
- https://github.com/aws/aws-sdk-js-v3/issues/6810
- https://docs.aws.amazon.com/sdkref/latest/guide/feature-dataintegrity.html
- https://github.com/boto/boto3/issues/4400
Have your agent know this before it fails
claude mcp add --transport http footgun https://getfootgun.com/api/mcp