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
gtasksfrom anywhere
Warning
Installing via go install is currently not working. 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
.envfile 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 releaseTo 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/callbackhttp://localhost:8081/callbackhttp://localhost:8082/callbackhttp://localhost:9090/callbackhttp://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