About gccli
A command-line interface for Google Calendar, intended for managing calendars, events, and availability. It supports listing and viewing events, creating events, and checking free/busy periods after OAuth setup.
Key features
- 01List calendars and events
- 02View event details
- 03Create calendar events
- 04Check free/busy availability
- 05Manage OAuth account setup
Use cases
- 01Review events across calendars
- 02Create a scheduled calendar event
- 03Check availability for a time range
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ badlogic/ pi-skills --skill gccliAfter installing, type/gccliin Claude Code to confirm it loaded.
Details
From the project READMEGoogle Calendar CLI
Command-line interface for Google Calendar operations.
Installation
npm install -g @mariozechner/gccli
Setup
Google Cloud Console (one-time)
- Create a new project (or select existing)
- Enable the Google Calendar API
- Set app name in OAuth branding
- Add test users (all Gmail addresses you want to use)
- Create OAuth client:
- Click "Create Client"
- Application type: "Desktop app"
- Download the JSON file
Configure gccli
First check if already configured:
gccli accounts list
If no accounts, guide the user through setup:
- Ask if they have a Google Cloud project with Calendar API enabled
- If not, walk them through the Google Cloud Console steps above
- Have them download the OAuth credentials JSON
- Run:
gccli accounts credentials ~/path/to/credentials.json - Run:
gccli accounts add <email>(use--manualfor browserless OAuth)
Usage
Run gccli --help for full command reference.
Common operations:
gccli <email> calendars- List all calendarsgccli <email> events <calendarId> [--from <dt>] [--to <dt>]- List eventsgccli <email> event <calendarId> <eventId>- Get event detailsgccli <email> create <calendarId> --summary <s> --start <dt> --end <dt>- Create eventgccli <email> freebusy <calendarIds> --from <dt> --to <dt>- Check availability
Use primary as calendarId for the main calendar.
Date/Time Format
- Timed events:
YYYY-MM-DDTHH:MM:SSZ(UTC) orYYYY-MM-DDTHH:MM:SS(local) - All-day events:
YYYY-MM-DDwith--all-dayflag
Data Storage
~/.gccli/credentials.json- OAuth client credentials~/.gccli/accounts.json- Account tokens
Comments
Markdown supported