Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.309 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.239 ·

File uploads report why they failed and stop retrying forever

Failed uploads now name the reason and stop retrying after a fixed number of attempts.

You'll notice Improvements
JSON All of v2.1.239
You'll noticeTier: how much it should matter to you
3Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
File SyncArea: what it touches
ImprovementsKind: in v2.1.239,
ImprovementsSection of the release
What

A failed file upload now carries a machine-readable reason alongside the error: file_read, too_large, auth, forbidden, network or canceled. Retries stop after a fixed number of attempts rather than looping on transient errors.

Details
  • Filenames are sanitized in the upload's multipart header: ", carriage return and line feed become percent escapes.
  • An upload-from-bytes entry point was added for callers that already hold the content.
  • A separate git helper now classifies a shallow clone as complete, cut or unborn by reading the repository's shallow file.
Evidence

Upload succeeded but no file ID returned

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

See this entry in the whole of v2.1.239 →

Feedback