gtasks
: A CLI Tool for Google Tasks
Refer to the docs website to read about available commands.
- Download the binary for your system (check releases)
- Move to a particular folder, for eg Documents
- Append the absolute path (use
pwd
) of the folder toPATH
- Execute
gtasks
from anywhere
Not working yet. Will be fixed soon.
go install github.com/BRO3886/gtasks@latest
- Go 1.24+
- Google Cloud Console OAuth2 credentials (see Configuration section)
- Clone the repository:
git clone https://github.com/BRO3886/gtasks
cd gtasks
- Create a
.env
file with your OAuth2 credentials:
# .env
GTASKS_CLIENT_ID=your-client-id.apps.googleusercontent.com
GTASKS_CLIENT_SECRET=your-client-secret
# Development build (uses .env file)
make dev
# Build for specific platforms
make linux # Linux (amd64 + arm64)
make windows # Windows (amd64)
make mac # macOS (amd64 + arm64)
# Build for all platforms
make all
# Create release packages
make release
To use GTasks, you need to set up Google OAuth2 credentials:
-
Go to Google Cloud Console
-
Create a new project or select existing one
-
Enable the Google Tasks API
-
Create OAuth2 credentials:
- Application type: "Desktop application"
- Add authorized redirect URIs:
http://localhost:8080/callback
http://localhost:8081/callback
http://localhost:8082/callback
http://localhost:9090/callback
http://localhost:9091/callback
-
Set environment variables:
export GTASKS_CLIENT_ID="your-client-id.apps.googleusercontent.com"
export GTASKS_CLIENT_SECRET="your-client-secret"
Or create a .env
file (for building from source).
GTasks stores authentication tokens in ~/.gtasks/token.json
. This directory is created automatically on first login.
- Usage
Usage:
gtasks [command]
Available Commands:
help Help about any command
login Logging into Google Tasks
tasklists View and create tasklists for currently signed-in account
tasks View, create, list and delete tasks in a tasklist
Flags:
-h, --help help for gtasks
-t, --toggle Help message for toggle
Use "gtasks [command] --help" for more information about a command.
- To see details about a command
gtasks <COMMAND> help
- Login
gtasks login
- Logout
gtasks logout
- Viewing Tasklists
gtasks tasklists view
- Creating a Tasklist
gtasks tasklists add -t 'title'
gtasks tasklists add --title 'title'
- Deleting a Tasklist
gtasks tasklists rm
- To pre-select tasklist, provide it's title as follows:
gtasks tasks -l <title> subcommand [--subcommand-flags]
Examples:
gtasks tasks [--tasklist|-l] "DSC VIT" view [--include-completed | -i]
Note: If the -l
flag is not provided you will be able to choose a tasklist from the prompt
- Viewing tasks
gtasks tasks view
- Include completed tasks
gtasks tasks view -i
gtasks tasks view --include-completed
- Sort options
gtasks tasks view ... --sort [due,title,position, default=position]
- Adding a task
gtasks tasks add
- Mark task as completed
gtasks tasks done
- Deleting a task
gtasks tasks rm