Commands
Issue shortcuts
track PROJ-123 # Get issue (shortcut)track PROJ-123 --full # With comments, links, subtaskstrack open PROJ-123 # Open in browserIssue commands
# Gettrack issue get PROJ-123track i g PROJ-123 --full
# Create (with validation)track issue create -p PROJ -s "Summary" -d "Description"track i new -s "Subtask" --parent PROJ-100 --priority "Major"track i new -p PROJ -s "Title" --field "Priority=Major" --validate
# Update (single or batch)track issue update PROJ-123 --summary "New title"track i u PROJ-123 --field "Priority=Critical"track i u PROJ-1,PROJ-2,PROJ-3 --field "Priority=Major" # Batch update
# State transitions (single or batch)track issue start PROJ-123 # In progresstrack issue complete PROJ-123 # Donetrack i start PROJ-1,PROJ-2,PROJ-3 # Batch starttrack i done PROJ-1,PROJ-2 --state Done # Batch complete
# Search (with query or template)track issue search "project: PROJ #Unresolved" --limit 20track i s "project: PROJ State: Open"track i s --template unresolved --project PROJ # Use query templatetrack i s "project: PROJ #Unresolved" --all # Fetch all pages
# Inspect many issues with opt-in contexttrack issue inspect PROJ-1,PROJ-2,PROJ-3 -o jsontrack i ix --ids ids.txt --include comments,links -o jsontrack i ix --query "project: PROJ #Unresolved" --all --include all -o jsontrack i ix --template unresolved --project PROJ --limit 50 --jsonl
# Delete (single or batch)track issue delete PROJ-123track i del PROJ-1,PROJ-2,PROJ-3 # Batch deleteBatch inspect
Use track issue inspect when you need one structured context capture for a
set of issues before reviewing, summarizing, auditing, or bulk-editing them. It
fills the gap between issue search (many issues, base fields only) and
issue get --full (one issue with extra context).
# Comma-separated IDs; default is fast issue fields onlytrack i ix PROJ-1,PROJ-2,PROJ-3 -o json
# IDs from a file, with selected contexttrack i ix --ids ids.txt --include comments,links -o jsontrack i ix --ids - --include all --jsonl < ids.txt
# Query/template-selected issue setstrack i ix --query "project: PROJ #Unresolved" --all --include comments,links -o jsontrack i ix --template unresolved --project PROJ --limit 50 --include history -o jsonSupported issue-set modes:
- Positional comma-separated IDs.
--ids <path>with one issue ID per line, or--ids -for stdin.--query <query>with--limit,--skip, or--all.--template <name> --project <project>using cached query templates.
Context is opt-in with --include comments,links,subtasks,history,all. The
JSON report is shaped for automation:
{ "total": 3, "succeeded": 2, "failed": 1, "issues": [{ "id_readable": "PROJ-1", "comments": [], "links": [] }], "errors": [{ "id": "PROJ-404", "error": "Issue not found: PROJ-404" }]}total counts results in this report. Query mode may also include
query_total, the backend-reported number of matches, so limited pages are not
mistaken for the full result set. Unsupported include capabilities appear as
per-issue warnings; other include fetch failures become per-issue errors.
Pass --strict when a script should exit non-zero if any issue failed after
the full report is emitted. Use --jsonl for streaming one compact JSON object
per issue result.
Comments
track issue comment PROJ-123 -m "Comment text"track issue comments PROJ-123 --limit 10History
Show an issue’s change history — the time-ordered timeline of field transitions (status changes, assignee changes, etc.) with timestamps and authors. Supported on all backends.
track issue history PROJ-123 # Full timeline, newest firsttrack i hist PROJ-123 --field status # Only status transitionstrack i history PROJ-123 --since 7d # Last 7 days (s/m/h/d/w)track -o json i history PROJ-123 # {"issue": id, "changes": [...]}track -b gh i history 42 # GitHub (numeric id)from/to coverage varies by backend: Jira, YouTrack, and Linear carry the
prior value for every field; the event-based backends (GitHub, GitLab) populate
from only for status.
Links
track issue link PROJ-1 PROJ-2 # Relates (default)track issue link PROJ-1 PROJ-2 -t depends # Depends ontrack issue link PROJ-1 PROJ-2 -t subtask # Subtasktrack issue link PROJ-1 PROJ-2 -t clones # Custom/admin-defined type
# Unlink (remove a link by its ID — get link IDs from `track i g PROJ-1 --full`)track issue unlink PROJ-1 "142-3t/PROJ-2" # YouTrack (composite ID)track -b j issue unlink PROJ-1 12345 # Jira (numeric link ID)track -b gl issue unlink 42 789 # GitLab (numeric link ID)Built-in link types: relates, depends, required, duplicates,
duplicated-by, subtask, parent. Unrecognized type names are passed
through to the backend as-is, so admin-defined types work without CLI changes.
Custom link type mappings
Each backend maps canonical link type names to its native name (e.g. "Blocks"
on Jira). Override these in your config:
[jira.link_mappings]depends = "Requires"duplicates = "Cloners"
[youtrack.link_mappings]depends = "Is required for"
[gitlab.link_mappings]depends = "is_blocked_by"
[linear.link_mappings]relates = "similar"Projects
track project listtrack project get PROJtrack project fields PROJ # Custom fieldstrack project create -n "Name" -s "KEY" # YouTrack onlyTags
track tags list # Lists tags/labels for the configured backendGitHub and GitLab use labels instead of tags; the CLI maps labels to the common
IssueTag model.
Custom fields admin (YouTrack only)
track field list # List custom field definitionstrack field create ... # Create a custom fieldtrack bundle list # List bundlestrack bundle create ... # Create a bundleArticles (Knowledge Base)
YouTrack uses its built-in Knowledge Base; Jira uses Confluence (at the same
domain with a /wiki path).
# YouTracktrack article list --project PROJtrack article create --project PROJ --summary "Title" --content "Body"track article update KB-A-1 --content-file ./doc.md
# Jira/Confluence (numeric space ID for --project)track -b j article list --project 65957 --limit 20track -b j article create --project 65957 --summary "Title" --content "Body"Config
track config test # Test connectiontrack config show # Show current configtrack config backend jira # Set default backendtrack config project PROJ # Set default projecttrack config set <key> <value>track config get <key>track config keys # List available config keystrack config path # Show config file pathDoctor (Backend Capability Audit)
track doctor goes beyond config test. It runs non-mutating checks for
configuration validity, auth/connectivity, project resolution, issue search and
read, comments, links, field schema, field admin, articles, and optional local
write validation.
track doctor # Audit the configured backendtrack doctor --all-backends # Audit every configured backendtrack -b gitlab doctor # Audit a specific backendtrack doctor --project PROJ # Use a project for scoped checkstrack doctor --write-check # Validate write payloads locally onlytrack doctor --all-backends --strict -o json # CI-friendly failure on failed checksEach check reports ok, degraded, failed, or skipped. degraded usually
means the backend is reachable but a token scope or optional capability is
limited; skipped means the backend does not support that capability. doctor
never mutates remote trackers, and --write-check only validates against the
fetched project schema.
Cache
track cache refresh # Refresh local cachetrack cache refresh --if-stale 1h # Only refresh if older than 1 hourtrack cache status # Check cache age and freshnesstrack cache show # Show cached datatrack cache path # Show cache locationContext (AI-optimized)
track context # Aggregated context for AI sessionstrack context --project PROJ # Filter to a specific projecttrack context --refresh # Force refresh from APItrack context --include-issues # Include unresolved issuestrack -o json context # JSON for parsingCommand aliases
| Full Command | Aliases |
|---|---|
track issue | track i |
track issue get | track i g |
track issue create | track i new, track i c |
track issue update | track i u |
track issue search | track i s, track i find |
track issue inspect | track i ix |
track issue delete | track i rm, track i del |
track issue comment | track i cmt |
track issue history | track i history, track i hist |
track issue complete | track i done, track i resolve |
track issue start | track i start |
track issue link | track i link |
track issue unlink | track i ul |
track project | track p |
track project list | track p ls |
track project fields | track p f |
track tags | track t |
track article | track a, track wiki |
track config | track cfg |
track context | track ctx |
track field list | track field ls |
track field create | track field c |
track bundle list | track bundle ls |
track bundle create | track bundle c |
Output formats
track PROJ-123 # Text (default)track -o json PROJ-123 # JSONtrack --format json p ls # JSON