Fetching from the wire…
Public story · 2026-08-03 · high
Libraries like Remix and hono replace globals such as Request and Blob, which crashed E2B's old instanceof checks.
Why now: E2B shipped the fix in the 2.37.0 release on July 31, the same release that added Fedora, Alpine and Arch sandbox support.
E2B shipped 2.37.0 on July 31, fixing a bug that made sandbox uploads silently store the string "[object Blob]" instead of the file itself.
The two failure modes weren't equal. A bad Request crashed loudly with "Failed to parse URL from [object Request]," an error you'd catch in minutes. A bad Blob didn't crash at all. It just wrote the wrong bytes and let the upload finish, the kind of failure that clears code review and shows up as a support ticket weeks later.
The cause: the old code used instanceof to detect Request, Blob and ReadableStream objects, which breaks the moment a library installs its own version of those globals.
@hono/node-server ships its own Request. Remix's installGlobals() swaps in Request, Blob and File. web-streams-polyfill replaces ReadableStream. Any of those in a user's stack and the checks stopped matching.
The fix checks object shape instead of instanceof, so a Request or Blob built by any of those libraries gets recognized correctly, per the changelog. The same release adds sandbox images for Fedora, Alpine and Arch Linux.
What makes the instanceof bug worth flagging is that it looks correct in review. It's standard JavaScript, it works in every test that doesn't happen to import Remix or hono. It only breaks in front of a real user's dependency tree, and when it breaks, it doesn't tell you. Worth grepping your own upload code for "instanceof Blob" before someone else finds it.
Each link below shares sources, entities, or timing with this story.
E2B supports Firecracker / Shared entity: E2B / Same source domain / Earlier coverage / Tension
Linked by a graph relationship (E2B supports Firecracker); both cover E2B; reported by the same outlet (github.com).
E2B partners with Docker / Shared entities / Same source domain / Earlier coverage
Linked by a graph relationship (E2B partners with Docker); both cover E2B, Python; reported by the same outlet (github.com).
E2B partners with Docker / Shared entity: Python / Earlier coverage
Linked by a graph relationship (E2B partners with Docker); both cover Python; earlier Python coverage from 2026-04-30.
E2B supports Firecracker / Shared entity: E2B / Earlier coverage
Linked by a graph relationship (E2B supports Firecracker); both cover E2B; earlier E2B coverage from 2026-03-14.
E2B partners with Docker / Shared entity: Python / Same source domain / Earlier coverage / Tension
Linked by a graph relationship (E2B partners with Docker); both cover Python; reported by the same outlet (github.com).
E2B supports Python / Shared entity: Python / Same source domain / Earlier coverage / Tension
Linked by a graph relationship (E2B supports Python); both cover Python; reported by the same outlet (github.com).
E2B supports Python / Shared entities / Earlier coverage
Linked by a graph relationship (E2B supports Python); both cover File, Python; earlier File coverage from 2026-07-19.
E2B partners with OpenAI / Shared entity: Python / Same source domain / Earlier coverage
Linked by a graph relationship (E2B partners with OpenAI); both cover Python; reported by the same outlet (github.com).