tttManage TinyTalkingTodos lists and items via the ttt CLI
Install via ClawdBot CLI:
clawdbot install joshuacrowley/tttUse ttt to manage todo lists and items from the command line. The CLI syncs with TinyTalkingTodos in real-time.
npm install -g @ojschwa/ttt-cli
Or install locally for development:
cd /path/to/talking-todo/ttt-cli
npm install
npm run build
npm link
Verify with ttt --help.
Before using the CLI, the user must be authenticated:
# Check auth status
ttt auth status
# Login via browser (opens OAuth flow)
ttt auth login
# Logout
ttt auth logout
# Export credentials as env vars (for scripts)
ttt auth export
ttt list ls
Output (compact, token-efficient):
Today [2/5]
Groceries [0/3]
Work Tasks [1/4]
For structured data:
ttt list ls --json
ttt list get "Groceries"
# or by ID
ttt list get list-abc123
ttt list create "Weekend Plans"
ttt list create "Shopping" --icon "š" --color "#FF6B6B"
Options:
--color - Background color--icon - List icon--type - List typettt list update "Groceries" --name "Shopping List"
ttt list update "Shopping List" --icon "š" --color "#00FF00"
Options:
--name - New list name--color - Background color--icon - List icon--type - List typettt list delete "Old List"
ttt list rm "Old List" # alias
# Force delete even if list has todos
ttt list delete "Old List" --force
ttt todo ls --list "Groceries"
Output (compact):
Groceries [1/4]
ā Milk id:todo-abc123
ā Bread id:todo-def456
ā Eggs id:todo-ghi789
ā Butter id:todo-jkl012
For JSON output:
ttt todo ls --list "Groceries" --json
Basic:
ttt todo add "Buy avocados" --list "Groceries"
With options:
ttt todo add "Doctor appointment" --list "Health" \
--date 2026-02-15 \
--time 14:30 \
--notes "Bring insurance card"
ttt todo add "Try new pasta place" --list "Restaurants" \
--url "https://example.com/restaurant" \
--street-address "123 Main St" \
--rating 4
ttt todo add "Tomatoes" --list "Groceries" \
--amount 2.50 \
--category "Produce" \
--emoji "š
"
All --list options:
| Option | Description | Example |
|--------|-------------|---------|
| --notes | Additional notes | --notes "organic preferred" |
| --date | Due date | --date 2026-02-15 |
| --time | Due time | --time 14:30 |
| --url | Associated URL | --url "https://..." |
| --emoji | Item emoji | --emoji "š" |
| --email | Associated email | --email "contact@..." |
| --street-address | Location | --street-address "123 Main" |
| --number | Numeric value | --number 5 |
| --amount | Amount/price | --amount 12.99 |
| --rating <1-5> | Star rating | --rating 4 |
| --type | Item type | --type A |
| --category | Category | --category "Urgent" |
ttt todo done todo-abc123
The todo ID is shown in the compact output format after id:.
ttt todo undone todo-abc123
ttt todo update todo-abc123 --text "New text"
ttt todo update todo-abc123 --category "Urgent" --date 2026-02-15
ttt todo update todo-abc123 --done # mark as done
ttt todo update todo-abc123 --not-done # mark as not done
Options:
--text - New todo text--notes, --date, --time, --url, --emoji, --email, --street-address--number, --amount, --rating, --type, --category--done / --not-done - Toggle completion statusttt todo delete todo-abc123
# or use alias
ttt todo rm todo-abc123
Add multiple todos at once using JSON:
ttt todo batch-add --list "Groceries" --items '[
{"text": "Milk"},
{"text": "Eggs", "fields": {"category": "Dairy"}},
{"text": "Bread", "fields": {"amount": 3.50}}
]'
Each item requires text and optionally fields with any todo field.
Update multiple todos at once:
ttt todo batch-update --items '[
{"id": "todo-abc123", "fields": {"done": true}},
{"id": "todo-def456", "fields": {"text": "Updated text", "category": "Urgent"}}
]'
Each item requires id and fields with the updates to apply.
All mutating operations are recorded and can be undone:
# Undo the last operation
ttt undo
# Undo the last 3 operations
ttt undo 3
# View undo history
ttt history
ttt history --limit 20
ttt history --json
Undo supports: todo add/delete/update, batch-add/update, mark done/undone, list create/update/delete.
The daemon keeps a persistent WebSocket connection for faster commands:
# Start daemon (auto-starts on first command if not running)
ttt daemon start
# Check status
ttt daemon status
# Stop daemon
ttt daemon stop
The daemon auto-shuts down after 30 minutes of inactivity.
--json when you need to parse data or extract specific fieldsid:) for updatesttt undo reverts the last operationttt todo add "Milk" --list "Groceries" --category "Dairy"
ttt todo add "Bread" --list "Groceries" --category "Bakery"
ttt todo add "Apples" --list "Groceries" --amount 3.50 --category "Produce"
# View todos
ttt todo ls --list "Today"
# Mark one done (using ID from output)
ttt todo done todo-xyz789
ttt list create "Weekend Trip" --icon "šļø"
ttt todo add "Pack tent" --list "Weekend Trip"
ttt todo add "Check weather" --list "Weekend Trip" --url "https://weather.com"
ttt todo add "Gas up car" --list "Weekend Trip"
ttt todo batch-add --list "Party Supplies" --items '[
{"text": "Balloons", "fields": {"category": "Decorations"}},
{"text": "Cake", "fields": {"category": "Food", "amount": 45.00}},
{"text": "Plates", "fields": {"category": "Supplies", "number": 20}},
{"text": "Candles", "fields": {"category": "Decorations"}}
]'
ttt todo batch-update --items '[
{"id": "todo-abc", "fields": {"done": true}},
{"id": "todo-def", "fields": {"done": true}},
{"id": "todo-ghi", "fields": {"done": true}}
]'
# Accidentally deleted something? Undo it
ttt undo
# Made several mistakes? Undo multiple
ttt undo 3
Generated Mar 1, 2026
Remote workers can use the CLI to manage daily tasks across work and personal lists, leveraging the compact output for quick overviews and batch operations for weekly planning. The undo feature allows safe experimentation with task organization, while the daemon ensures responsive command execution during focused work sessions.
Family members can share a synchronized shopping list using the CLI, with fields like amount, category, and emoji to clarify items. Batch-add simplifies adding weekly staples, and list management with colors/icons helps differentiate groceries from household supplies. The CLI's real-time sync ensures everyone sees updates instantly.
Development teams can track sprint tasks using lists for different projects, with todos for features, bugs, and meetings. The JSON output enables integration with other tools for reporting, while batch-update helps mark multiple tasks as done after a sprint review. Todo fields like url and notes can link to tickets or documentation.
Event planners can create lists for different events (e.g., weddings, conferences) and use todos with date, time, and address fields for vendor appointments or tasks. The undo feature allows recovery from accidental deletions during hectic planning, and list colors/icons help visually organize multiple concurrent events.
Individuals can manage health-related tasks like medication reminders, appointments, and fitness goals using lists with specific fields. Todo options like date, time, and notes support detailed tracking, while the CLI's authentication ensures personal data security. Compact output provides a quick daily overview of pending health actions.
Offer a free tier with basic list and todo features via the CLI, while charging for advanced capabilities like custom fields, team collaboration, or analytics. Revenue comes from monthly subscriptions, with the CLI serving as a lightweight interface that encourages adoption and upsells to premium web/mobile features.
License the CLI and backend to businesses for internal task management, with features like SSO integration, audit logs, and custom workflows. Revenue is generated through annual enterprise licenses, support contracts, and customization services, targeting industries like tech, consulting, or healthcare where CLI efficiency is valued.
Provide the CLI as a free tool to drive adoption of a paid API for developers building integrations or third-party apps. Revenue comes from API usage tiers, webhook access, or marketplace fees for plugins, leveraging the CLI's user base to create a broader ecosystem around the todo platform.
š¬ Integration Tip
Use the JSON output flag to parse data into scripts or other tools, and leverage the daemon for faster performance in automated workflows.
Manage Trello boards, lists, and cards via the Trello REST API.
Sync and query CalDAV calendars (iCloud, Google, Fastmail, Nextcloud, etc.) using vdirsyncer + khal. Works on Linux.
Manage tasks and projects in Todoist. Use when user asks about tasks, to-dos, reminders, or productivity.
Master OpenClaw's timing systems. Use for scheduling reliable reminders, setting up periodic maintenance (janitor jobs), and understanding when to use Cron v...
Calendar management and scheduling. Create events, manage meetings, and sync across calendar providers.
Kanban-style task management dashboard for AI assistants. Manage tasks via CLI or dashboard UI. Use when user mentions tasks, kanban, task board, mission con...