Use the Google Tasks CLI from KosmoKrator to call Google Tasks tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.
Google Tasks can be configured headlessly with `kosmokrator integrations:configure google_tasks`.
# Install KosmoKrator first if it is not available on PATH.curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash# Configure and verify this integration.kosmokrator integrations:configure google_tasks --set access_token="$GOOGLE_TASKS_ACCESS_TOKEN" --enable --read allow --write ask --jsonkosmokrator integrations:doctor google_tasks --jsonkosmokrator integrations:status --json
Credentials
Authentication type: OAuth browser flowoauth2_authorization_code. Configure credentials once, then use the same stored profile from
scripts, coding CLIs, Lua code mode, and the MCP gateway.
Key
Env var
Type
Required
Label
access_token
GOOGLE_TASKS_ACCESS_TOKEN
OAuth token oauth
yes
Google Account
Call Google Tasks Headlessly
Use the generic call form when another coding CLI or script needs a stable universal interface.
Every function below can be called headlessly. The generic form is stable across all integrations;
the provider shortcut is shorter but specific to Google Tasks.
google_tasks.google_tasks_clear_completed
Read read
Remove all completed tasks from a Google Tasks list. Warning: permanently deletes completed tasks.
List tasks in a Google Task list. Use "@default" as listId for the primary "My Tasks" list. Supports filtering by completion status and due date range.
Maximum number of results (default: 100, max: 100).
page_token
string
no
Page token for pagination (from previous response).
google_tasks.google_tasks_list_tasks
List tasks in a Google Task list. Use "@default" as listId for the primary "My Tasks" list. Supports filtering by completion status and due date range.
Due date in YYYY-MM-DD format. Set empty string to clear.
status
string
no
Task status: "needsAction" (open) or "completed".
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults
with integrations:configure. Add --force only for trusted automation that should bypass that policy.