CLI Reference
Global Flags
The flags every uxd command accepts — config-dir override, ref disambiguation, dry runs, JSON output, and log verbosity.
| Flag | Effect |
|---|---|
--config-dir <dir> | Override the config directory |
--pr / --branch / --path <v> | Force how the ref is interpreted |
--dry-run | Print what would run; change nothing |
--json | Machine-readable stdout (checkout, list, info, projects, doctor) |
-q, --quiet | Suppress step logs |
-v, --verbose | Print external commands |
-y, --yes | Assume "yes" for prompts |
--no-color | Disable ANSI color |
--config-dir
The config directory is resolved in this order:
--config-dir → $UXD_CONFIG_DIR → ~/.uxd
uxd config path prints the winner.
Ref disambiguation
42 is a PR number and main is a branch, but some names are genuinely
ambiguous. Force the interpretation:
uxd my-project --branch 42 # a branch literally named "42"
uxd my-project --pr 42 # PR #42
uxd my-project --path ./checkout # adopt an existing working tree
See Refs.
--dry-run
Available on every mutating command. For run, exec and shell it prints the
computed environment as export lines followed by the shell-quoted command:
uxd my-project 42 run dev --dry-run
uxd my-project 42 sync --discard --dry-run
uxd my-project 42 diff --dry-run
--json
Supported by checkout, list, info, projects and doctor. Progress and
warnings stay on stderr, so $(uxd … --json) captures clean JSON. See
Script with uxd.
--quiet and --verbose
-q suppresses the → step logs, leaving only the result on stdout:
uxd my-project feat/login checkout -q
~/dev/uxd/my-project/trees/feat-login
-v adds a · -prefixed line on stderr for every external command:
→ fetching origin/feat/login
· git -C ~/dev/uxd/my-project/repo fetch origin feat/login --no-tags
· git -C ~/dev/uxd/my-project/repo worktree add ~/dev/uxd/my-project/trees/feat-login -B feat/login --track origin/feat/login
→ worktree ready: ~/dev/uxd/my-project/trees/feat-login
--yes
Skips confirmation prompts. Required for clean and rm in any
non-interactive context — without it they exit 2.