Commands to interact with Google Tasks using the Google Tasks API v1
This package provides aux4 command wrappers for the Google Tasks API (v1). It covers managing task lists and the tasks inside them: listing, reading, creating, updating, completing and deleting.
Authentication is handled by community/google-auth, which stores a single OAuth2 token shared by every aux4 Google package.
aux4 aux4 pkger install community/google-tasks
This package requires:
brew install jqapt install jqAuthenticate once with community/google-auth. The scopes are resolved from the installed Google service packages, so no --scopes flag is needed:
aux4 google auth login
This package requests https://www.googleapis.com/auth/tasks, which allows both reading and managing lists and tasks. If you only need read access, request the read-only scope instead — it is enough for lists list, lists get, list and get:
aux4 google auth login --readonly true
Check the current state at any time:
aux4 google auth status
List your task lists:
aux4 google tasks lists list
List the tasks in your primary list:
aux4 google tasks list
Create a task:
aux4 google tasks create --title "Buy milk" --due 2026-08-01T00:00:00.000Z
Mark it done:
aux4 google tasks complete dGFzazEyMw
Every account has a primary list addressed as @default. You can create additional lists and address them by ID.
List all task lists:
aux4 google tasks lists list
Get a single list:
aux4 google tasks lists get MDExMjM0NTY3
Create a list:
aux4 google tasks lists create --title "Work"
Delete a list (removes every task it contains — this cannot be undone):
aux4 google tasks lists delete OTg3NjU0MzIx
All task commands default to the primary @default list. Pass --tasklist <id> (an ID from aux4 google tasks lists list) to work in a different list.
aux4 google tasks list
Completed tasks are hidden by default. Include them and raise the row cap:
aux4 google tasks list --showCompleted true --maxResults 50
aux4 google tasks get dGFzazEyMw
The only required field is --title. --notes and --due are optional and are omitted from the request when left empty. The --due value is an RFC3339 timestamp; the Google Tasks API stores only its date portion.
aux4 google tasks create --title "Buy milk" --notes "2% and whole" --due 2026-08-01T00:00:00.000Z
Sends a partial update, so only the flags you pass are changed:
aux4 google tasks update dGFzazEyMw --title "Buy oat milk" --due 2026-09-01T00:00:00.000Z
Reopen a completed task:
aux4 google tasks update dGFzazEyMw --status needsAction
A shortcut for update --status completed:
aux4 google tasks complete dGFzazEyMw
aux4 google tasks delete dGFzazEyMw
AUX4_GOOGLE_TOKEN_FILE — where the shared Google OAuth token lives. Defaults to ~/.aux4.config/.oauth/google.json, the same location aux4 google auth login writes to, so it normally needs no setting.TASKS_API_URL — overrides the Google Tasks API base URL. Defaults to https://tasks.googleapis.com/tasks/v1. Mainly useful for testing against a mock server.MIT — See LICENSE for details.