Skip to main content

The CLI

Every command but serve talks to the service (--url, or $HUNT_URL; default http://127.0.0.1:4848). A process can be named by id or by a word that picks it out (acme). Dates can be friendly: tomorrow, +3d, -1w, fri 15:00, 10-30, 2026-10-30.

Each command has a page of its own in docs/cli/, with what it does, examples, and its help (on the website, under The CLI). make cli-docs writes each page's help from the program, and a test checks it's current: change a command, and run it.

hunt # the board
hunt add --link https://jobs.ashbyhq.com/acme/1234 -s applied # read the posting
hunt add Acme -r "Staff Engineer" -s applied --source referral --applied -3d
hunt add TikTok --next "reply to recruiter" --due "fri 10:00"
hunt move acme interviewing # --top to put it first
hunt step acme "system design" --at "fri 15:00"
hunt person acme "Sam Lee" --role hiring-manager
hunt note acme "asked about the team's on-call"
hunt next acme "send availability" --due tomorrow
hunt archive tiktok role-closed -n "hiring freeze till November"
hunt archive acme role-filled -n "went with an internal candidate"
hunt resume acme screening
hunt show acme # everything, with its change log
hunt board --all # every archived process, not just the last 30 days

hunt upload Resume cv.pdf --tag rust-focused # the next version (the document is made if new)
hunt attach acme resume # sent its latest version with acme (--version N)
hunt detach acme 7 # take version #7 off
hunt download 7 -o ~/Desktop/cv.pdf

hunt lookup ashbyhq.com # what a company's site (or LinkedIn page) says
hunt lookup linkedin.com/company/ashbyhq --save # add it, or fill in what it's missing

hunt mail list acme # a process's emails; `hunt mail show 12` reads one
hunt mail import acme ~/Downloads/offer.eml
pbpaste | hunt mail import acme - # after Gmail's Show original → Copy to clipboard
hunt mail rm 12

hunt tag applications 4 +remote "dream job" -fintech # add and remove tags; no changes shows them
hunt list applications --where tag=remote

hunt backup # everything, to hunt-backup-<date>.json (-o to choose)
hunt restore hunt-backup-2026-10-06.json # replace everything with it (asks; --yes not to)

hunt list applications -q rust # any resource: stages, companies, people,
hunt get companies 3 # applications, processes, steps, notes,
# documents, versions, lanes, tags
hunt edit applications 4 location=London salary_min=150k currency=GBP work_mode=remote
hunt new people name="Pat Chen" company_id=acme title=Recruiter
hunt rm stages 6 --move-to applied
hunt list reasons # the reasons for closing: the terminal stages' lanes
hunt new lanes stage_id=their name="Salary too low" # another reason
hunt edit stages 3 active=0 # terminal: what's in it closes
hunt new swimlanes name="On hold" # another row of the board
hunt order considering applied screening interviewing offer
hunt fields applications # what each resource has
hunt log processes 12 # the change log

More in docs/design.md.