/install google-drive-setup
Google Drive Setup
Mount Google Drive as a local filesystem using rclone, with OAuth via gog CLI.
Prerequisites
gogCLI installed and authenticated (see gog skill)rcloneinstalledfuse/fusermountavailable
Step 1: Get OAuth Credentials from gog
gog already has a valid refresh token. Export it:
export GOG_KEYRING_PASSWORD=\x3Cyour-password>
gog auth tokens export \[email protected]> --out /tmp/gog_token.json --overwrite
Extract the refresh_token, client_id, and client_secret from:
/tmp/gog_token.json→ refresh_token~/.config/gogcli/credentials.json→ client_id, client_secret
Step 2: Configure rclone
Write ~/.config/rclone/rclone.conf:
[GoogleDrive]
type = drive
client_id = \x3Cclient_id>
client_secret = \x3Cclient_secret>
scope = drive
token = {"access_token":"","token_type":"Bearer","refresh_token":"\x3Crefresh_token>","expiry":"2026-01-01T00:00:00Z"}
team_drive =
Manually refresh the access token (rclone will auto-refresh thereafter):
curl -s -X POST https://oauth2.googleapis.com/token \
-d client_id=\x3Cclient_id> \
-d client_secret=\x3Cclient_secret> \
-d refresh_token=\x3Crefresh_token> \
-d grant_type=refresh_token
Update rclone.conf with the returned access_token and real expiry time.
Verify: rclone lsd GoogleDrive:
Step 3: Mount to Filesystem
mkdir -p /mnt/gdrive
rclone mount GoogleDrive: /mnt/gdrive \
--daemon \
--vfs-cache-mode full \
--vfs-cache-max-size 2G \
--dir-cache-time 72h \
--allow-other
Step 4: Auto-mount on Boot (systemd)
Create /etc/systemd/system/rclone-gdrive.service:
[Unit]
Description=rclone mount Google Drive
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/rclone mount GoogleDrive: /mnt/gdrive --vfs-cache-mode full --vfs-cache-max-size 2G --dir-cache-time 72h --allow-other
ExecStop=/bin/fusermount -u /mnt/gdrive
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Enable:
systemctl daemon-reload
systemctl enable rclone-gdrive
systemctl start rclone-gdrive
Troubleshooting
- "empty token found": rclone config has no valid token. Re-do Step 2.
- "token expired and no refresh token": refresh_token missing from rclone.conf.
- "Object does not exist at path /": gog keyring backend issue. Switch to file:
gog auth keyring fileand setGOG_KEYRING_PASSWORD. - "access_denied" / "developer hasn't given you access": Add user as test user in Google Cloud Console → OAuth consent screen.
- OAuth app type must be "Desktop app": Web-type credentials redirect_uri won't work for remote servers. Use Desktop type.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install google-drive-setup - After installation, invoke the skill by name or use
/google-drive-setup - Provide required inputs per the skill's parameter spec and get structured output
What is Google Drive Setup?
Configure Google Drive mount on Linux via rclone + gog OAuth. Use when user wants to mount Google Drive as local filesystem, set up auto-mount on boot, or co... It is an AI Agent Skill for Claude Code / OpenClaw, with 100 downloads so far.
How do I install Google Drive Setup?
Run "/install google-drive-setup" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Google Drive Setup free?
Yes, Google Drive Setup is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Google Drive Setup support?
Google Drive Setup is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Google Drive Setup?
It is built and maintained by TonglinMu (@tonglinmu); the current version is v1.1.0.