CLI tool for interacting with the TickTick API.
Download the latest binary for your platform from the releases page.
macOS (Apple Silicon)
curl -L -o tick https://github.com/avilabss/ticktick-cli/releases/latest/download/tick-darwin-arm64
chmod +x tick
sudo mv tick /usr/local/bin/macOS (Intel)
curl -L -o tick https://github.com/avilabss/ticktick-cli/releases/latest/download/tick-darwin-amd64
chmod +x tick
sudo mv tick /usr/local/bin/Linux (x86_64)
curl -L -o tick https://github.com/avilabss/ticktick-cli/releases/latest/download/tick-linux-amd64
chmod +x tick
sudo mv tick /usr/local/bin/Linux (ARM64)
curl -L -o tick https://github.com/avilabss/ticktick-cli/releases/latest/download/tick-linux-arm64
chmod +x tick
sudo mv tick /usr/local/bin/Windows
Download tick-windows-amd64.exe from the releases page, rename to tick.exe, and add its location to your PATH.
go install github.com/avilabss/ticktick-cli/cmd/tick@latesttick --help- Log in to ticktick.com in your browser
- Open DevTools (
F12orCmd+Option+I) - Go to Application → Cookies →
https://ticktick.com - Copy the value of the cookie named
t - Create a
.envfile in the directory where you runtick:
TICKTICK_API_TOKEN=paste_cookie_value_here
tick <command> <subcommand> [flags]tick task list [--project NAME] [--tag TAG] [--priority N]
tick task add --title "..." [--project NAME] [--tags "a,b"] [--priority N] [--due DATE]
tick task complete ID [--project NAME]
tick task delete ID [--project NAME]
tick task get ID [--project NAME]
tick project listtick pomodoro export [--year N] [--month N] [--output FILE] [--include-tags ...] [--exclude-tags ...]
tick pomodoro stats
tick pomodoro create [--task ID] [--duration MINS]
tick pomodoro delete ID
tick pomodoro timer list
tick pomodoro timer stats NAMEtick habit list
tick habit checkin HABIT_NAME [--value N]
tick habit status [--date YYYY-MM-DD]Every command supports --help:
tick --help
tick task --help
tick task add --helptick -v ... # Info level logging
tick -vv ... # Debug level logging
tick -vvv ... # Trace level loggingjust test # unit tests
just test-v # unit tests (verbose)
just test-integration # integration tests (requires .env)just lintjust --listEvery push to main automatically:
- Runs tests
- Increments the patch version (e.g. v0.0.1 → v0.0.2)
- Builds binaries for all platforms (linux/darwin/windows, amd64/arm64)
- Publishes a GitHub release with SHA256 checksums
To bump minor or major version, create the tag manually before the next push:
git tag v0.1.0
git push origin v0.1.0The next auto-release will increment from that tag (v0.1.0 → v0.1.1).