Command Line (CLI)

TaskTick ships a "tasktick" command-line tool to list, run, and watch your tasks from the terminal. Most commands target a task by a flexible identifier — a name, a serial number, or a (partial) UUID all work.

Install

Open TaskTick → Settings → CLI and click Install, or symlink it yourself:

ln -s "/Applications/TaskTick.app/Contents/cli/tasktick" /usr/local/bin/tasktick
tasktick list

Commands

CommandDescription
tasktick listList tasks. Flags: --filter all|manual|scheduled|running, --json.
tasktick status [task]Global summary, or one task's status when given an identifier. Flag: --json.
tasktick logs <task>Show the most recent execution log. Flags: --lines N (0 = all), --json.
tasktick create <name>Create a task from a script file. --script PATH is required, plus --shell, --cwd, --timeout, --manual, --repeat, --at HH:MM, --cron EXPR.
tasktick run <task>Start a task (wakes the app if needed). --wait streams output and mirrors the exit code.
tasktick stop <task>Stop a running task.
tasktick restart <task>Stop and immediately re-run a task.
tasktick reveal <task>Open the main window with the task selected.
tasktick tail <task>Stream a running task's stdout/stderr live.
tasktick wait <task>Block until a task finishes; exit code mirrors the task (124 on --timeout).
tasktick eventsStream task lifecycle events as NDJSON.

Examples

tasktick list --filter running --json
tasktick create "Backup" --script ~/backup.sh --repeat daily --at 02:00
tasktick create "Sync" --script ~/sync.sh --cron '*/10 9-19 * * 1-5'
tasktick run deploy --wait
tasktick wait deploy --timeout 300

Raycast

Search, run, stop, and restart your scheduled tasks right from Raycast — without leaving your keyboard.

Install

Install the official TaskTick extension from the Raycast Store, then type its name in Raycast to see the available commands.

Get it on Raycast Store

Script Notifications

A running script can fire its own TaskTick notification at any point: print a sentinel line to stdout and TaskTick turns it into a native banner. The line itself is stripped from the output, so it never shows up in logs or the live view.

Syntax

Print a line that starts with @tasktick:notify (leading whitespace is allowed), followed by a single JSON object. "title" is required; "body" is optional; unknown keys are ignored.

@tasktick:notify {"title":"Update found","body":"Downloading v5.5.2"}

Example

#!/bin/bash
echo '@tasktick:notify {"title":"Backup started"}'
# ... do the work ...
echo '@tasktick:notify {"title":"Backup done","body":"42 files"}'

Notes

  • The directive line is removed from stdout — it won't appear in logs, the live view, or the tee file.
  • Only stdout is scanned, never stderr.
  • Honors the global notification toggle; at most 20 directive notifications per run.
  • Independent of the task's success/failure notifications — turn those off in the editor if you want to avoid duplicates.