Skip to content

Dolt backend compatibility: beads v0.50+ removed JSONL #83

@mikez93

Description

@mikez93

Summary

As of beads CLI v0.50.1 (2026-02-14), the bd tool switched its default backend from SQLite+JSONL to Dolt (a SQL database with Git-style version control). In v0.51.0, the entire JSONL sync layer was removed (~11,000 lines of code).

beads-kanban-ui 0.4.2 reads directly from .beads/issues.jsonl via file-watching in the Rust backend. That file no longer exists in Dolt-backed repos, so the UI shows no data.

What Changed in Beads

Version Date Change
v0.49.0 Jan 22 Migration tooling added (bd migrate --to-dolt)
v0.50.1 Feb 14 Dolt becomes default backend
v0.51.0 Feb 16 SQLite backend, JSONL sync, daemon, 3-way merge engine all removed
v0.52.0 Feb 17 Stabilization (current stable)

Active storage is now in .beads/dolt/ (a Dolt database). The bd CLI exposes --json flags on all commands for programmatic access.

Impact

  • New repos initialized with bd init on v0.50+ have no issues.jsonl file
  • Existing repos migrated via bd migrate --to-dolt lose their JSONL file
  • beads-kanban-ui 0.4.2 is effectively non-functional with current beads

Possible Approaches

  1. Query via bd CLI — e.g. bd list --json, bd show <id> --json (simplest, no Dolt dependency)
  2. Query Dolt directly — Dolt exposes a MySQL-compatible wire protocol via dolt sql-server
  3. Hybrid — use bd CLI as the data layer, keep the existing UI/WebSocket architecture

Environment

  • beads-kanban-ui: 0.4.2
  • beads CLI: 0.52.0 (Dolt backend)
  • macOS 14.x (Apple Silicon)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions