Skip to content
XADEN

Troubleshooting

Find your symptom, read the cause, apply the fix. Exit codes are listed in Exit codes and environment.

Install and PATH

xaden: command not found

Cause: ~/.local/bin is not on your PATH. Fix: add export PATH="$HOME/.local/bin:$PATH" to ~/.bashrc or ~/.zshrc and open a new terminal. Check with xaden version.

The installer says a file named xaden exists and is not this checkout’s

Cause: another file or link of that name is in the folder. The installer never overwrites it. Fix: remove or rename that file, then run install.sh again. To move the link to a newer zip extraction, run --uninstall from the old folder first (Update Xaden).

The checks end with INCOMPLETE

Cause: a tool is missing: shellcheck, gitleaks or semgrep. A skipped check is never counted as passed. Fix: install the tool (Requirements and platforms). CI and releases treat a missing tool as a failure.

The messages show strange symbols

Cause: your terminal or log does not render the signs. Fix: set XADEN_PLAIN=1.

Creating and adopting

xaden adopt says this is not a git repository

Fix: run it inside a clone, or run git init first.

xaden adopt stopped after the plan and did not ask

Cause: there is no terminal (a script, a CI job, some editors). Nothing was changed. Fix: run the command it prints, xaden adopt --yes, with the options you used.

xaden adopt exits with code 4

Cause: your hook manager or CI system is not supported. Fix: the message names the manual step. Adopt without that part with --skip-hooks or --skip-ci.

The branch or the folder already exists

Cause: an earlier adoption left chore/adopt-xaden or <repo>-adopt-xaden. Fix: finish it, or remove it with git worktree remove <folder> and git branch -D chore/adopt-xaden.

xaden create --autopilot exits with code 2

Cause: the folder already holds code, a build file or history. Fix: run xaden adopt inside it, or choose another name.

Checks and modes

A gap: no test check is configured

Cause: the repository has no test command that Xaden knows. In strict mode a gap is an error; otherwise it is a warning. Fix: add check.test = <command> to xaden/xaden.conf, or add Xaden’s preset: xaden preset python or xaden preset node.

xaden check says xaden/RULES.md does not match

Cause: the rules file was edited by hand, or another Xaden version generated it. Fix: run xaden doctor to see the versions. If they match, run xaden rules and commit the result.

xaden check fails on a finding you did not cause

Cause: the finding is not in the baseline and is in a file your change touches (changed-files), or anywhere (strict). Fix: fix it. If it existed before Xaden was adopted, ask the team whether it belongs in the baseline; letting a baseline grow is an approval point.

A warning says baselined findings are fixed

Cause: findings in the baseline no longer occur, and this run could not shorten the file (CI, or the pre-commit hook). Fix: run xaden check on your machine, not in CI, and commit the smaller baseline.

A commit is rejected: unknown requirement, or a feat without Refs:

Cause: the commit cites a requirement that does not exist, or a feat commit has no Refs: REQ-nnn trailer. Fix: look the requirement up with xaden req list, or create it with xaden req new. The trailer must be in the last paragraph of the message.

Versions and downloads

A command asks Download and install Xaden <version> now?

Cause: the project pins a Xaden version that is not installed on this machine. Fix: read the version, source and checksum it shows. Answer y to install, or press Enter to decline.

A commit in an IDE fails with exit code 3

Cause: the pinned Xaden version is missing, and the IDE has no terminal to ask you in. Nothing was downloaded. Fix: run the xaden fetch <version> that the message shows, in a terminal.

A download fails with exit code 5

Cause: the archive does not match the checksum in xaden/xaden.conf, or the checksum differs from the signed one. Nothing was installed. Fix: do not work around it. Check the version number, and ask whoever pinned the version.

A download fails with exit code 6

Cause: the signature of the release does not verify against the keys in release-signers. Nothing was installed. Fix: treat it as an attack until proven otherwise. Compare the key in release-signers with the one published on this site (Verify releases).

xaden check says this is one Xaden version and the project pins another

Fix: run xaden doctor, then xaden fetch <version> in a terminal.

Hooks and CI

The hooks do not run in a teammate’s clone

Cause: hooks that live in .git are not shared. The same happens after pre-commit install rewrites the hook. Fix: run xaden setup once in each clone.

A hook prints xaden not found

Cause: the command is not on the PATH of the program that runs git (an IDE, for example). The check is skipped. Fix: make ~/.local/bin part of that program’s PATH, or commit from a terminal. CI re-runs the checks either way.

The CI job fails at “Install Xaden”

Cause: the downloaded Xaden does not match XADEN_CHECKSUM in .github/workflows/xaden.yml, or the version tag does not exist. Fix: the version and checksum in the workflow must equal version and checksum in xaden/xaden.conf. xaden upgrade updates both.

These pages describe Xaden v0.3.0, released 2026-10-17.