things3-cloud 0.6.0

Command-line client for Things 3 using the Things Cloud API
Documentation

things3

Main

A Rust command-line client for Things 3 that talks directly to the Things Cloud API.

Install

Via Homebrew:

brew install evanpurkhiser/personal/things3-cloud

From source:

cargo install --path .

From crates.io:

cargo install things3-cloud

Build

cargo build

Configure auth

things3 set-auth

Usage

$ things3 today
 Today  (9 tasks)

  LZ4 ▢ Follow up with team
       Shared notes for context
      
    D ├╴○ draft update
    J └╴○ review checklist
  4HY ▢ Task with notes
       Multi-line note example
       with a second line
  Uuq ▢ Review inbox and prioritize
  699 ▢ Prepare weekly summary  [Planning]
  H47 ▢ Submit reimbursement  ⚑ due by 2026-04-10

   This Evening
  8KU ▢ Reflect on highlights
  63E ▢ Reset workspace for tomorrow
things3 find --query "rent" --deadline "<=2026-03-31"
things3 new "Follow up with team" --when today
things3 schedule <task-id> --deadline 2026-04-10
things3 mark <task-id> --done

Supported features

  • Configure auth with set-auth (stored in XDG state)
  • Incremental sync with local cache for fast startup
  • --no-sync flag to skip cloud sync and use local cache only

Views

  • inbox, today, upcoming, anytime, someday, logbook
  • projects / project <id>, areas / area <id>, tags
  • Show notes via --detailed
  • Show checklist items via --detailed
  • find with title/notes/checklists and tag/area/project/status/date filters

Tasks

  • new — create tasks with title, notes, tags, when, deadline, and position
  • edit — rename, set/remove notes, move, add/remove tags (multi-ID supported)
  • edit --add-checklist/--remove-checklist/--rename-checklist
  • mark — done/incomplete/canceled (multi-ID supported)
  • mark --check/--uncheck/--check-cancel for checklist toggles
  • schedule — when/start date, deadline, today/evening/someday
  • reorder — reorder tasks within lists
  • delete — trash tasks

Projects / Areas / Tags

  • projects new / projects edit
  • areas new / areas edit
  • tags new / tags edit / tags delete

Testing

Run all Rust tests:

cargo test --all-targets

The CLI snapshot suite uses trycmd test cases in trycmd/.