Reference
Troubleshooting
Diagnose setup, registry, synchronization, validation, quota, conflict, projection, and upgrade problems with the smallest useful Denju commands.
Two commands answer different questions:
denju status
denju doctor
Use status when a skill, pack, or desired-state source is blocked. Use doctor when the Denju installation, background service, credential store, registry connection, or harness projections may be unhealthy.
“Setup required”
Run:
denju setup
If you intend to use a self-hosted registry, include it on the initial setup command:
denju setup --registry https://denju.example.com
An existing installation is intentionally bound to one registry in v1.
Registry unavailable
Check network reachability and the registry’s readiness endpoint. Your owned valid local edits remain queued; Denju does not discard them because the server is offline.
When connectivity returns:
denju sync
A skill is paused after editing
Run:
denju status
Common reasons:
- the working tree is temporarily invalid;
SKILL.mdname was edited directly and needs explicitdenju rename;- two devices created overlapping edits;
- a fork needs explicit upstream synchronization/resolution;
- two desired-state sources require incompatible revisions.
Denju preserves the local working content in these cases rather than overwriting it with remote state.
A managed skill disappeared
Check its sources:
denju status
A direct subscription may have been removed, a pack may no longer require the resource, team membership/assignment may have changed, access may have been revoked, or the resource may have been unpublished/deleted/quarantined.
If no active source requires a skill, removal is expected behavior.
A harness does not see a managed skill
Run:
denju doctor
Doctor checks the recorded Codex and Claude Code roots, broken Denju-managed links, stale/duplicate projections, interrupted migrations, and service state. It repairs Denju-owned projection state without treating unrelated user skills as disposable.
Codex always uses Denju’s direct managed links under ~/.agents/skills; changing CODEX_HOME does not move them. If CLAUDE_CONFIG_DIR changes, invoking Denju resolves and repairs the managed Claude projection at the new $CLAUDE_CONFIG_DIR/skills location.
Storage quota exceeded
Inspect usage:
denju usage
Local editing can continue. Eligible unreleased private history can be pruned explicitly:
denju history prune @you/skill
Published and otherwise protected history is not silently deleted.
A subscribed skill changed after I edited it
Editing an ordinary upstream subscription should create a fork rather than mutate the upstream resource.
Inspect:
denju status
If upstream has advanced, synchronize deliberately:
denju fork sync @you/skill
Team policy is fighting my personal version
Team enforcement is stronger than personal desired state but does not erase the personal relationship.
denju status shows which source currently governs the skill. If two teams require incompatible revisions, neither wins silently; resolve the governing team assignment instead.
Upgrade failed
Denju’s upgrade path stages and verifies the new executable, updates/restarts the background service, and runs a health probe. A failed health check rolls the installation back to the previous binary/package version.
After any interrupted or unusual upgrade state:
denju doctor
Need machine-readable diagnostics?
Add --json:
denju --json status
denju --json doctor
See Automation and JSON output for stable envelope and error-code behavior.