CLI

Core Commands

dex status

dex status [options]

Show a dashboard overview of your tasks. This is the default command — running dex with no arguments runs dex status.

The dashboard shows:

Terminal
dex                    # Show dashboard (default)
dex status             # Same as above
dex status --json      # Output as JSON

dex create

dex create <name> [--description <details>] [options]

Create a new task with name and optional description.

Terminal
dex create "Add JWT authentication" \
  --description "Implement JWT middleware for route protection..."

dex create "Fix login bug"

dex create "Deploy to production" --blocked-by abc123

dex create "Add token refresh" --parent abc123

dex list

dex list [options]

List tasks in tree view (default shows pending only).

Indicators:

Terminal
dex list
dex list --all
dex list --ready
dex list --query "login"
dex list --issue 42

dex show

dex show <id>... [options]

View full task details including context, result, blocking relationships, GitHub issue links, and subtasks. Supports multiple task IDs.

If the task is linked to a GitHub issue (directly or via parent), the issue number, repo, and URL are displayed. Subtasks show "(via parent)" to indicate the link is inherited.

Terminal
dex show abc123                # Show task details
dex show abc123 def456         # Show multiple tasks
dex show abc123 --expand       # Show ancestor descriptions

dex start

dex start <id> [options]

Mark a task as in progress. Use this to indicate you're actively working on a task.

Terminal
dex start abc123           # Mark task as in progress
dex start abc123 --force   # Re-claim a task already in progress

dex complete

dex complete <id> --result <result> [--commit <sha>|--no-commit]

Mark a task as completed with a result summary.

Note: For tasks linked to GitHub issues or Shortcut stories, you must specify either --commit or --no-commit. This ensures issues are only closed when code is actually merged.

Terminal
dex complete abc123 --result "Implemented JWT middleware with token refresh.
All 42 tests passing." --commit a1b2c3d

dex complete abc123 --result "Planning complete, no code changes" --no-commit

dex edit

dex edit <id> [options]

Edit an existing task.

Terminal
dex edit abc123 -n "Updated name"
dex edit abc123 --add-blocker xyz789
dex edit abc123 --remove-blocker xyz789

dex delete

dex delete <id>

Delete a task. Also deletes all subtasks.

Terminal
dex delete abc123

dex archive

dex archive <id>

Archive a completed task and its descendants to reduce storage size. Archived tasks are compacted and moved to archive.jsonl.

Requirements:

Terminal
dex archive abc123

dex plan

dex plan <markdown-file> [options]

Create a task from a markdown planning document. Automatically creates subtasks when the document contains distinct implementation steps.

Terminal
dex plan ~/.claude/plans/auth-system.md
dex plan docs/SPEC.md --priority 2
dex plan feature.md --parent abc123

Integrations

dex sync

dex sync [task-id] [options]

Sync tasks to GitHub Issues and/or Shortcut Stories. Syncs all root tasks by default, or a specific task if ID is provided.

Terminal
dex sync                    # Sync to all configured services
dex sync abc123             # Sync specific task
dex sync --github           # Sync only to GitHub
dex sync --shortcut         # Sync only to Shortcut
dex sync --dry-run          # Preview sync

dex import

dex import <ref> [options]

Import a GitHub Issue or Shortcut Story as a dex task.

Reference formats:

Terminal
dex import #42                    # Import GitHub issue #42
dex import sc#123                 # Import Shortcut story #123
dex import https://github.com/owner/repo/issues/42
dex import https://app.shortcut.com/myorg/story/123
dex import --all                  # Import all dex-labeled items
dex import --all --shortcut       # Import only from Shortcut
dex import #42 --update           # Refresh local task from GitHub

dex export

dex export <task-id>... [options]

Export tasks to GitHub Issues without enabling sync. Unlike dex sync, this creates issues but does not save the issue metadata back to the task.

Tasks that are already synced to GitHub are skipped with a warning.

Terminal
dex export abc123                 # Export single task
dex export abc123 def456          # Export multiple tasks
dex export abc123 --dry-run       # Preview export

Diagnostics

dex doctor

dex doctor [options]

Check dex configuration and storage for issues, with optional auto-repair.

Checks performed:

Terminal
dex doctor             # Check for issues (read-only)
dex doctor --fix       # Check and fix issues

Configuration

dex init

dex init [options]

Initialize dex configuration. Creates a config file and optionally sets up shell completions.

Terminal
dex init              # Interactive setup
dex init -y           # Accept all defaults

dex dir

dex dir [options]

Print the dex directory path. By default, prints the task storage directory for the current repository.

Terminal
dex dir                # Print task storage path (e.g., /path/to/repo/.dex)
dex dir --global       # Print global config path (~/.config/dex)
cd $(dex dir)          # Navigate to task directory
ls $(dex dir)          # List task directory contents

dex config

dex config [options] <key>[=<value>]

Get or set configuration values (similar to git config).

Config keys:

Terminal
dex config sync.github.enabled           # Get value
dex config sync.github.enabled=true      # Set value
dex config --local sync.github.enabled=true
dex config --unset sync.github.label_prefix
dex config --list                        # Show all values

Other

dex mcp

dex mcp

Run dex as an MCP server for integration with other tools.

Terminal
dex mcp

dex completion

dex completion <shell>

Generate shell completion script.

Terminal
eval "$(dex completion bash)"
eval "$(dex completion zsh)"
dex completion fish | source

dex help

dex help [command]

Show help for dex or a specific command.

Terminal
dex help
dex help create
dex help complete

dex version

dex version

Display the installed version of dex.

Terminal
dex version            # Show version
dex --version          # Same as above
dex -V                 # Short flag

Global Options

Environment Variables

DEX_STORAGE_PATH
Override storage directory
GITHUB_TOKEN
GitHub API token for sync/import
SHORTCUT_API_TOKEN
Shortcut API token for sync/import