CLI
Manage issues, comments, labels, and projects from the terminal. Device-flow auth — no passwords in the shell.
Installation
npm install -g @xpntl/cli
Or with your preferred package manager:
# pnpm
pnpm add -g @xpntl/cli
# yarn
yarn global add @xpntl/cli
Verify the installation:
xpntl --version
Authentication
The CLI uses a device authorization flow. No passwords are ever entered in the terminal.
Interactive login
xpntl auth login
This generates a one-time code, opens your browser, and waits for you to approve. Once approved, the session token is saved locally for future commands.
- CLI requests a device code from the API
- Your browser opens to
app.xpntl.dev/device?code=XXXX-XXXX - Sign in (if needed) and approve the code
- CLI detects approval and saves the token
Harness key login
For CI/CD pipelines or agent harnesses, authenticate directly with a harness key:
xpntl auth login --key xpntl_hk_...
This saves the key locally without opening a browser.
Check status
xpntl auth whoami
Prints the signed-in user and active workspace. Add the global --json flag for machine-readable output.
Logout
xpntl auth logout
xpntl with no arguments shows the animated logo and, if you're not signed in,
offers to start the device login right there.
Commands
Issues
# List issues (with optional filters)
xpntl issues list
xpntl issues list --state started --priority 1
# Get issue details
xpntl issues get ACME-42
# Create an issue
xpntl issues create --title "Fix login bug" --priority 2
# Update an issue
xpntl issues update ACME-42 --title "New title" --priority 1
# Delete (soft-delete) an issue
xpntl issues delete ACME-42
List filters: --state, --priority, --assignee, --query.
Comments
# List comments on an issue
xpntl comments list ACME-42
# Add a comment
xpntl comments add ACME-42 --body "Fix verified — deploying."
Labels
# List labels
xpntl labels list
# Create a label
xpntl labels create --name "bug" --color "#ff0000"
Projects
# List projects
xpntl projects list
Workflow States
# List workflow states (use these IDs for issue transitions)
xpntl states list
Users
# List workspace members
xpntl users list
Configuration
Credentials are stored at ~/.xpntl/config.json. The CLI resolves the API base URL in
this order: the XPNTL_API_URL environment variable, then an apiUrl in the
config file, then the default https://api.xpntl.dev.
# Point to a self-hosted instance
export XPNTL_API_URL=https://xpntl.example.com