gtasks-cliManage Google Tasks from the command line - view, create, update, delete tasks and task lists. Use when the user asks to interact with Google Tasks, manage t...
Install via ClawdBot CLI:
clawdbot install BRO3886/gtasks-cliThis skill enables you to manage Google Tasks directly from the command line using the gtasks CLI tool.
Before using any commands, ensure the following requirements are met:
Check if gtasks is installed on the system:
# Cross-platform check (works on macOS, Linux, Windows Git Bash)
gtasks --version 2>/dev/null || gtasks.exe --version 2>/dev/null || echo "gtasks not found"
# Or use which/where commands
# macOS/Linux:
which gtasks
# Windows (Command Prompt):
where gtasks
# Windows (PowerShell):
Get-Command gtasks
If gtasks is not installed:
/usr/local/bin or add to PATHgtasks --versionIMPORTANT for Agents: Always check if gtasks is installed before attempting to use it. If the command is not found, inform the user and provide installation instructions.
Set up Google OAuth2 credentials as environment variables:
export GTASKS_CLIENT_ID="your-client-id.apps.googleusercontent.com"
export GTASKS_CLIENT_SECRET="your-client-secret"
How to get credentials:
http://localhost:8080/callbackhttp://localhost:8081/callbackhttp://localhost:8082/callbackhttp://localhost:9090/callbackhttp://localhost:9091/callbackFor persistent setup, add these to your shell profile (~/.bashrc, ~/.zshrc, etc.):
echo 'export GTASKS_CLIENT_ID="your-client-id"' >> ~/.bashrc
echo 'export GTASKS_CLIENT_SECRET="your-client-secret"' >> ~/.bashrc
source ~/.bashrc
Once environment variables are set, authenticate with Google:
gtasks login
This will open a browser for OAuth2 authentication. The token is stored in ~/.gtasks/token.json.
All commands follow this pattern:
gtasks [command] [subcommand] [flags] [arguments]
gtasks login
Opens browser for Google OAuth2 authentication. Required before using any other commands.
gtasks logout
Removes stored credentials from ~/.gtasks/token.json.
gtasks tasklists view
Displays all task lists with numbered indices.
Output Example:
[1] My Tasks
[2] Work
[3] Personal
gtasks tasklists add -t "Work Projects"
gtasks tasklists add --title "Shopping List"
Creates a new task list with the specified title.
Flags:
-t, --title: Task list title (required)gtasks tasklists rm
Interactive prompt to select and delete a task list.
gtasks tasklists update -t "New Title"
Interactive prompt to select a task list and update its title.
Flags:
-t, --title: New title for the task list (required)All task commands can optionally specify a task list using the -l flag. If omitted, you'll be prompted to select one interactively.
Basic view:
gtasks tasks view
gtasks tasks view -l "Work"
Include completed tasks:
gtasks tasks view --include-completed
gtasks tasks view -i
Show only completed tasks:
gtasks tasks view --completed
Sort tasks:
gtasks tasks view --sort=due # Sort by due date
gtasks tasks view --sort=title # Sort by title
gtasks tasks view --sort=position # Sort by position (default)
Output formats:
gtasks tasks view --format=table # Table format (default)
gtasks tasks view --format=json # JSON output
gtasks tasks view --format=csv # CSV output
Table Output Example:
Tasks in Work:
No Title Description Status Due
1 Finish report Q4 analysis pending 25 December 2024
2 Team meeting Weekly sync pending -
3 Code review PR #123 completed 20 December 2024
JSON Output Example:
[
{
"number": 1,
"title": "Finish report",
"description": "Q4 analysis",
"status": "pending",
"due": "2024-12-25"
}
]
Interactive mode:
gtasks tasks add
gtasks tasks add -l "Work"
Prompts for title, notes, and due date.
Flag mode:
gtasks tasks add -t "Buy groceries"
gtasks tasks add -t "Finish report" -n "Q4 analysis" -d "2024-12-25"
gtasks tasks add -t "Call dentist" -d "tomorrow"
gtasks tasks add -t "Team meeting" -d "Dec 25"
Flags:
-t, --title: Task title (required for non-interactive mode)-n, --note: Task notes/description (optional)-d, --due: Due date (optional, flexible format)Date Format Examples:
The date parser supports many formats:
2024-12-25 (ISO format)Dec 25, 2024December 25tomorrownext Friday12/25/2024See dateparse examples for all supported formats.
With task number:
gtasks tasks done 1
gtasks tasks done 3 -l "Work"
Interactive mode:
gtasks tasks done
gtasks tasks done -l "Personal"
Prompts to select a task from the list.
With task number:
gtasks tasks rm 2
gtasks tasks rm 1 -l "Shopping"
Interactive mode:
gtasks tasks rm
gtasks tasks rm -l "Work"
Prompts to select a task to delete.
With task number:
gtasks tasks info 1
gtasks tasks info 3 -l "Work"
Interactive mode:
gtasks tasks info
gtasks tasks info -l "Personal"
Output Example:
Task: Finish report
Status: Needs action
Due: 25 December 2024
Notes: Complete Q4 analysis and submit to manager
Links:
- https://docs.google.com/document/d/...
View in Google Tasks: https://tasks.google.com/...
When a user says "add a task to my work list":
gtasks tasks add -l "Work" -t "Task title"
gtasks tasks view --sort=due
gtasks tasks done -l "Work"
# Interactive prompt appears, select task
gtasks tasks done -l "Work"
# Repeat as needed
Run view command multiple times for each list, or first list all task lists:
gtasks tasklists view
gtasks tasks view -l "Work"
gtasks tasks view -l "Personal"
gtasks tasks view --format=json > tasks.json
gtasks tasks view --format=csv > tasks.csv
gtasks login-l flag to avoid interactive prompts--due flag accepts natural language dates like "tomorrow", "next week", etc.gtasks tasklists view.Common errors and solutions:
echo $GTASKS_CLIENT_IDgtasks login to authenticategtasks tasklists view to see available listsgtasks tasks view to see current task numbersgtasks tasklists add -t "Shopping"
gtasks tasks add -l "Shopping" -t "Milk"
gtasks tasks add -l "Shopping" -t "Bread"
gtasks tasks add -l "Shopping" -t "Eggs"
gtasks tasks view -l "Work" --sort=due
gtasks tasks done 1 -l "Work"
gtasks tasks add -l "Work" -t "Submit proposal" -n "Include budget and timeline" -d "next Friday"
gtasks tasks view --completed --format=json -l "Work" > completed_work.json
# Try to run gtasks version check
gtasks --version 2>/dev/null || gtasks.exe --version 2>/dev/null
If this fails, inform the user that gtasks is not installed and provide installation instructions from the Prerequisites section.
# Check if variables exist (macOS/Linux)
[ -n "$GTASKS_CLIENT_ID" ] && echo "GTASKS_CLIENT_ID is set" || echo "GTASKS_CLIENT_ID is not set"
[ -n "$GTASKS_CLIENT_SECRET" ] && echo "GTASKS_CLIENT_SECRET is set" || echo "GTASKS_CLIENT_SECRET is not set"
# Windows PowerShell
if ($env:GTASKS_CLIENT_ID) { "GTASKS_CLIENT_ID is set" } else { "GTASKS_CLIENT_ID is not set" }
if ($env:GTASKS_CLIENT_SECRET) { "GTASKS_CLIENT_SECRET is set" } else { "GTASKS_CLIENT_SECRET is not set" }
gtasks tasklists view &>/dev/null && echo "Authenticated" || echo "Not authenticated - run 'gtasks login'"
gtasks tasklists view to see available listsAI Usage Analysis
Analysis is being generated⦠refresh in a few seconds.
Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
Command-line tool to manage Google Workspace services including Gmail, Calendar, Drive, Sheets, Docs, Slides, Contacts, Tasks, People, Groups, and Keep.
Runs shell commands inside a dedicated tmux session named claw, captures, and returns the output, with safety checks for destructive commands.
A modern text-based browser. Renders web pages in the terminal using headless Firefox.
Write robust, portable shell scripts. Use when parsing arguments, handling errors properly, writing POSIX-compatible scripts, managing temp files, running commands in parallel, managing background processes, or adding --help to scripts.
NotebookLM CLI wrapper via `node {baseDir}/scripts/notebooklm.mjs`. Use for auth, notebooks, chat, sources, notes, sharing, research, and artifact generation/download.