Google Keep CLI skill for OpenClaw. Read, create, edit, search, and manage Google Keep notes and lists from the command line.
Built on gkeepapi (1,600+ ⭐, actively maintained).
Google Keep has no official public API for personal accounts. The official Keep API is enterprise-only (Google Workspace). This skill uses the unofficial gkeepapi library to give your agent full Keep access.
npx clawhub@latest install google-keepcd ~/.openclaw/workspace/skills
git clone https://github.com/tag-assistant/google-keep-skill.git google-keep
cd google-keep
uv venv .venv
.venv/bin/pip install gkeepapi gpsoauth- Go to https://accounts.google.com/EmbeddedSetup
- Log in with your Google account
- Click "I agree" (page may spin forever — ignore it)
- Open DevTools: F12 → Application → Cookies → accounts.google.com
- Copy the
oauth_tokencookie value - Run:
./gkeep.py auth you@gmail.com <oauth_token>The master token is stored locally in .config/ and does not expire.
# List notes
./gkeep.py list
./gkeep.py list --pinned
./gkeep.py list --json
# Search
./gkeep.py search "groceries"
# Get a note
./gkeep.py get "Shopping List"
./gkeep.py get <note-id> --json
# Create
./gkeep.py create --title "Ideas" --text "Some thoughts"
./gkeep.py create --title "Groceries" --list --items "Milk" "Eggs" "Bread"
./gkeep.py create --title "Important" --pin --color Red --label "Work"
# Edit
./gkeep.py edit <id-or-title> --title "New Title"
./gkeep.py edit <id-or-title> --text "Updated body"
./gkeep.py edit <id-or-title> --pin true --color Blue
# List operations
./gkeep.py check "Groceries" "milk" # Check off item
./gkeep.py check "Groceries" "milk" --uncheck # Uncheck
./gkeep.py add-item "Groceries" "Butter" "Cheese"
# Delete (moves to trash)
./gkeep.py delete <id-or-title>
# Labels
./gkeep.py labels
# Export all notes
./gkeep.py dump > backup.jsonWhite, Red, Orange, Yellow, Green, Teal, Blue, DarkBlue, Purple, Pink, Brown, Gray
- gkeepapi — unofficial reverse-engineered Google Keep client (Python)
- gpsoauth — Google Play Services OAuth for master token auth
- State cached locally for fast startup after initial sync
- Master tokens don't expire (no re-auth needed)
- Master token grants full access to the Google account — treat it like a password
- Credentials stored in
.config/with 600 permissions - Never commit
.config/to version control deletemoves to trash (recoverable)
- Python 3.10+
uvorpipfor installing dependencies
MIT