Troubleshooting
ddl init fails with “Prerequisite missing”
ddl checks for prerequisites before installing. If a requirement is missing, install it and try again:
- Binary download: needs
curlorwget(pre-installed on most systems) - Cargo install: needs
rustc+cargo— install via rustup - incitaciones (npm): needs
npm— install via nodejs.org
Homebrew and Scoop are not used by ddl for installs — the tap and bucket exist only for manual installs of the tools themselves.
ddl install fails with “Tool not found”
Check available tools:
wai— Workflow managerdont— Epistemic disciplineah— Behavioral specification testingpretender— Code qualitytestaruda— Test selectionvampiro— Composition checkingspecodelic— Markdown spec format + linter (binary:spk)bd— Issue tracking (beads)openspec— Spec-driven developmentincitaciones— Prompts and skills for CLI LLM tools (npm)turu— Knowledge workspace management (whisper-vibes)
(ddl itself is not installable via ddl install — it manages every tool
except itself.)
ddl status shows no tools
Run ddl init first to install tools. If you already have tools installed
manually, run ddl init --no-install to create the manifest.
Binary download returns 404
The binary for your platform may not be published yet. Try:
cargo install dulce-de-leche
Network is unavailable
ddl works offline for already-installed tools:
ddl statusworks offlineddl versionworks offline (without--check)ddl upgraderequires network access
cargo install bd installs the wrong crate
The bd name on crates.io belongs to an unrelated crate (“big data tool
kit”); beads itself is also taken. Beads does not publish to crates.io —
never cargo install bd. Install bd through ddl install bd, which
pulls the pinned release binary from the gastownhall GitHub releases.
Deeper postmortems of incidents that cost fleet debugging time (CI install failures, migration symlink bugs) live in the Fleet incident records — maintained under Contributing.