Unreleased docs

gdrive is not currently published in the cmdhub registry. This page is available by direct URL for development/reference use.

folder
cmdhub adapter

Google Drive CLI
for cmdhub.

Files, folders, metadata, trash, and sharing permissions from the terminal.

lock Auth: OAuth2
Quick Install cmdhub get gdrive

data_object Agent Contract

Agents should start with auth/status and discovery commands, inspect schemas before composition, and treat commands marked as mutating as state-changing operations.

Output

Use human output for normal reads, `--json` for scripting or complete structured fields, and `--jsonl` for upstream pipe inputs.

Auth

Google OAuth. Used for Drive files, folders, metadata, trash, and permissions.

Refs

Prefer list/search, then short refs or piped JSONL. Use `resolve` to inspect cached refs.

Schemas

Use `gdrive schema` and `catalog.json` to inspect fields, flags, examples, and side effects.

Auth scopes

openidemailprofilehttps://www.googleapis.com/auth/drive

terminal Command Reference

Generated from source. Global flags apply to all commands.

Global Flags

--json bool Emit JSON machine output
--jsonl bool Emit JSONL records for piping
--output, -o string Compatibility output mode: json|jsonl. Prefer --json or --jsonl
--view string = summary View mode: summary|full
--profile string = default Config/auth profile
--config string Config path override
--quiet, -q bool Suppress non-essential diagnostics
--debug bool Enable debug diagnostics
--limit int = 50 Maximum items to emit
--page-size int = 50 Requested upstream page size
--cursor string Continuation cursor
--no-paginate bool Fetch only one page
--version, -v bool Print version information
gdrive auth Manage Google Drive authentication
#cmd-gdrive-auth discovery safe
gdrive auth login Authenticate with Google Drive
#cmd-gdrive-auth-login mutates state
$ gdrive auth login
$ gdrive auth login --help
$ gdrive auth status
gdrive auth logout Remove stored credentials
#cmd-gdrive-auth-logout mutates state
$ gdrive auth login
$ gdrive auth logout
$ gdrive auth logout --help
gdrive auth refresh Refresh stored token
#cmd-gdrive-auth-refresh mutates state
$ gdrive auth refresh
$ gdrive auth refresh --help
gdrive auth status Show auth status
#cmd-gdrive-auth-status discovery safe
$ gdrive auth status
$ gdrive auth status --help
gdrive auth whoami Show current Drive identity
#cmd-gdrive-auth-whoami discovery safe
$ gdrive auth whoami
$ gdrive auth whoami --help
gdrive capabilities Describe capabilities
#cmd-gdrive-capabilities discovery safe
--section string Limit output to scopes, schemas, or commands
$ gdrive capabilities --help
gdrive config Inspect local configuration
#cmd-gdrive-config discovery safe
gdrive config explain Explain resolved configuration
#cmd-gdrive-config-explain discovery safe
$ gdrive config explain --help
gdrive doctor Run gdrive diagnostics
#cmd-gdrive-doctor discovery safe
$ gdrive doctor
$ gdrive doctor --help
$ gdrive doctor --json
gdrive file Manage Drive files
#cmd-gdrive-file discovery safe
gdrive file delete Permanently delete a file
#cmd-gdrive-file-delete mutates state
--all bool Confirm batch permanent deletion
--file string File selector
--yes bool Confirm permanent deletion
$ gdrive file delete --all --yes f1 f2
$ gdrive file delete --help
$ gdrive file delete f1 --yes
gdrive file download Download file bytes
#cmd-gdrive-file-download discovery safe
--file string File selector
--out string Output path. Omit to print content.
$ gdrive file download
$ gdrive file download f1 --out ./notes.txt
$ gdrive file search --query notes --jsonl | gdrive file download --out ./notes.txt
gdrive file export Export a Google Docs file
#cmd-gdrive-file-export discovery safe
--file string File selector
--mime-type string = text/plain Export MIME type
--out string Output path. Omit to print content.
$ gdrive file export
$ gdrive file export f1 --mime-type application/pdf --out ./doc.pdf
$ gdrive file export f1 --mime-type text/plain --out ./doc.txt
gdrive file get Get file metadata
#cmd-gdrive-file-get discovery safe
--file string File selector
$ gdrive file get
$ gdrive file get f1
$ gdrive file get f1 f2
$ gdrive file search --query invoice --jsonl | gdrive file get
gdrive file list List files
#cmd-gdrive-file-list discovery safe
--folder string Folder selector
--parent string Alias for --folder
--query string Name/full-text query
--trashed bool Include trashed files
$ gdrive file list
$ gdrive file list --folder d1
$ gdrive file list --limit 10
$ gdrive file list --parent d1 --query notes
$ gdrive folder list --jsonl | gdrive file list --limit 10
gdrive file trash Move a file to trash
#cmd-gdrive-file-trash mutates state
--all bool Confirm batch trash
--file string File selector
$ gdrive file search --query old-notes --jsonl | gdrive file trash --all
$ gdrive file trash --all f1 f2
$ gdrive file trash --help
$ gdrive file trash f1
gdrive file untrash Restore a file from trash
#cmd-gdrive-file-untrash mutates state
--all bool Confirm batch untrash
--file string File selector
$ gdrive file search --query old-notes --trashed --jsonl | gdrive file untrash --all
$ gdrive file untrash --all f1 f2
$ gdrive file untrash --help
$ gdrive file untrash f1
gdrive file update Update file metadata or parents
#cmd-gdrive-file-update mutates state
--add-parent stringSlice = [] Folder selector to add as parent
--description string New description
--file string File selector
--name string New file name
--remove-parent stringSlice = [] Folder selector to remove as parent
--starred bool Set starred
$ gdrive file update --help
$ gdrive file update f1 --add-parent d2 --remove-parent d1
$ gdrive file update f1 --description "Updated notes"
$ gdrive file update f1 --name renamed.txt
gdrive file upload Upload a local file
#cmd-gdrive-file-upload mutates state
--description string File description
--folder string Parent folder selector
--mime-type string Content MIME type
--name string Drive file name
--path string Local file path
$ gdrive file upload --help
$ gdrive file upload --path ./notes.txt --folder d1 --name notes.txt
$ gdrive folder search --query "Project docs" --jsonl | gdrive file upload --path ./notes.txt
gdrive folder Manage Drive folders
#cmd-gdrive-folder discovery safe
gdrive folder create Create a folder
#cmd-gdrive-folder-create mutates state
--description string Folder description
--name string Folder name
--parent string Parent folder selector
$ gdrive folder create --help
$ gdrive folder create --name "Project docs"
$ gdrive folder create --name Archive --parent d1
gdrive folder get Get folder metadata
#cmd-gdrive-folder-get discovery safe
$ gdrive folder get
$ gdrive folder get d1
$ gdrive folder get d1 d2
$ gdrive folder list --jsonl | gdrive folder get
gdrive folder list List folders
#cmd-gdrive-folder-list discovery safe
--query string Folder name query
--trashed bool Include trashed folders
$ gdrive folder list
$ gdrive folder list --limit 10
$ gdrive folder list --query Project
gdrive login Authenticate with Google Drive
#cmd-gdrive-login mutates state
$ gdrive auth status
$ gdrive login
gdrive logout Remove stored credentials
#cmd-gdrive-logout mutates state
$ gdrive auth login
$ gdrive logout
gdrive permission Manage Drive permissions
#cmd-gdrive-permission discovery safe
gdrive permission add Add a permission
#cmd-gdrive-permission-add mutates state
--allow-discovery bool Allow public/domain discovery
--domain string Domain for domain permission
--email string Email address for user/group permission
--file string File selector
--role string = reader Permission role: reader|commenter|writer
--type string Permission type: user|group|domain|anyone (required)
--yes bool Confirm creation of a public anyone permission
$ gdrive permission add --file f1 --type anyone --role reader --yes
$ gdrive permission add --file f1 --type user --email user@example.com
$ gdrive permission add --help
gdrive permission list List file permissions
#cmd-gdrive-permission-list discovery safe
--file string File selector
$ gdrive file search --query notes --jsonl | gdrive permission list
$ gdrive permission list
$ gdrive permission list --file f1
gdrive permission remove Remove a permission
#cmd-gdrive-permission-remove mutates state
--all bool Confirm batch permission removal
--file string File selector
--permission string Permission selector
--yes bool Confirm permission removal
$ gdrive permission remove --file f1 --permission r1 --yes
$ gdrive permission remove --file f1 r1 --yes
$ gdrive permission remove --help
gdrive profile Manage provider profiles
#cmd-gdrive-profile discovery safe
gdrive profile create Create an unauthenticated provider profile
#cmd-gdrive-profile-create mutates state
$ gdrive profile create --help
gdrive profile delete Delete a local provider profile
#cmd-gdrive-profile-delete mutates state
$ gdrive profile delete --help
gdrive profile list List provider profiles
#cmd-gdrive-profile-list discovery safe
$ gdrive profile list --help
gdrive profile rename Rename a local provider profile
#cmd-gdrive-profile-rename discovery safe
$ gdrive profile rename --help
gdrive profile use Set the default provider profile
#cmd-gdrive-profile-use mutates state
$ gdrive profile use --help
gdrive resolve Resolve a local ref, short id, or URL alias
#cmd-gdrive-resolve discovery safe
$ gdrive resolve --help
$ gdrive resolve <ref>
gdrive schema Emit gdrive schema hints
#cmd-gdrive-schema discovery safe
--in bool Show input schema
--input bool Show input schema
--out bool Show output schema
$ gdrive schema
$ gdrive schema --help
$ gdrive schema file.get --out --json
$ gdrive schema file.upload --input
gdrive version Show gdrive version information
#cmd-gdrive-version discovery safe
$ gdrive version --help

play_circle Live Examples

Output captured from a real workspace. Regenerate with scripts/gen-docs.sh --update.

auth

Check current Drive identity
$ gdrive auth whoami
Authenticated as kestrelphilip@gmail.com
Profile: kestrelphilip@gmail.com

Next steps:
- Files:        gdrive file list --limit 10
- Folders:      gdrive folder list --limit 10
- Capabilities: gdrive capabilities

files

List recent files
$ gdrive file list --limit 5
REF  NAME                               STATE   UPDATED
f1   Google Cloud Free Trial Email.txt  active  Mon 27 Apr 17:54
f2   test                               active  Fri 24 Apr 19:16

Next steps:
- Open:    gdrive file get f1
- Search:  gdrive file search --query project --limit 10
- Files:   gdrive file list --limit 10
- Folders: gdrive folder list --limit 10
Search files
$ gdrive file search --query eval --limit 5
Empty state
No file found.

Next steps:
- List:         gdrive file list --limit 10
- Status:       gdrive auth status
- Folders:      gdrive folder list --limit 10
- Capabilities: gdrive capabilities

folders

List folders
$ gdrive folder list --limit 5
REF  NAME  STATE   UPDATED
d1   test  active  Fri 24 Apr 19:16

Next steps:
- Open:    gdrive folder get d1
- Search:  gdrive folder search --query project --limit 10
- Files:   gdrive file list --limit 10
- Folders: gdrive folder list --limit 10

alt_route Composition Patterns

Bridge your ecosystem with zero middleware.

# Search for a file, inspect metadata, then list its sharing permissions
gdrive file search --query "project notes" --limit 1 --jsonl \
  | gdrive file get