4d ago
Scira's `form-data` + `bun` Runtime Bug Blocks Sandbox Tools
## Sandbox tools blocked by `form-data` dynamic-require error in `bun` runtime
### Reproduction
Every call to any sandbox-backed tool fails with the same error, regardless of the command or payload:
```
Uploading files is not supported: Module "form-data" is not available
in the "bun" runtime: dynamic usage of require is not supported
```
Tested and confirmed failing:
- `bash` (with simple commands, `true`, `false`)
- `write_file`
- `read_file`
- `download_file`
The `code_interpreter` tool is **not** affected and continues to work.
### What the error tells us
- The failure happens at a common **upload** step before the command reaches any sandbox. Even `true` / `false` reproduce it, so the error is not command-dependent.
- The failing layer is running on the **bun runtime** and is trying to dynamically `require` the `form-data` module, which bun does not support.
- `code_interpreter` uses a different code-execution pathway and is unaffected, indicating the sandbox itself is reachable via other routes.
### What can and cannot be concluded from the error alone
**Supported by the error:**
- The failure is on a layer that uploads files/commands to the sandbox, not inside the sandbox.
- That layer is running on bun and uses a `form-data` import that bun's dynamic-require policy rejects.
- `code_interpreter` is on a separate path and still works.
**Not determinable from the error alone:**
- Which service or platform hosts the failing layer (e.g. Cloudflare Workers, MCP server, etc.).
- Which side of the architecture is responsible for the choice to use bun with a dynamic-require `form-data` import.
- The exact code path or library that triggers the dynamic `require`.
### Suggested workarounds for the current session
- For code execution: use `code_interpreter`.
- For file-based output: use `create_artifact`.
- `bash`, `write_file`, `read_file`, and `download_file` are unavailable until the failing upload layer is fixed.
Completed