#9964 Durable Objects Sqlite: Javascript booleans are incorrectly bound as strings
Confirmed platform bug. Cloudflare team acknowledged, opened internal STOR-4509, and has fix planned. Requires careful rollout due to backwards-incompatibility.
No action - awaiting platform-side fix
Analysis Report
Issue Review: cloudflare/workers-sdk#9964
Summary
JavaScript booleans are bound as strings instead of 0/1 in Durable Objects SQLite, while D1 correctly binds them as integers.
Findings
- Created: 2025-07-15 (9 days ago)
- Updated: 2025-07-22
- Version: wrangler 4.24.3, Node v23.11.0, macOS Sonoma
- Component: Durable Objects SQLite (platform-level)
- Labels: bug, internal, durable objects
- Comments: 3
Key Evidence
- Confirmed bug: Cloudflare team member (@alsuren) confirmed this is a real bug and opened internal tracking: STOR-4509
- Fix planned: "The plan is to make durable object code translate bools into ints like the D1 code does"
- Backwards-incompatible change: Team noted the fix requires careful rollout due to backwards compatibility concerns
- Platform-level issue: The
internallabel indicates this requires Cloudflare platform changes, not wrangler/miniflare fixes - Good reproduction provided: Reporter provided a minimal reproduction at https://github.com/mon/cf-worker-do-bool-bug
Recommendation
Status: KEEP OPEN
Reasoning: This is a confirmed, valid bug that has been triaged and is being actively tracked internally (STOR-4509). The Cloudflare team has acknowledged the issue, identified the root cause, and has a plan for the fix. Since this requires platform-level changes (Durable Objects runtime), it cannot be fixed in the workers-sdk repository alone.
Action: No action needed. This issue should remain open as a reference for the platform-side fix. It can be closed once the platform team implements the fix and the behavior matches D1.
Notes & Feedback (0)
No notes yet.