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_required

Affects: 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

Have your agent know this before it fails

claude mcp add --transport http footgun https://getfootgun.com/api/mcp