gws-drive
googleworkspace/cli
Manage Google Drive files, folders, and shared drives via CLI.
What is gws-drive?
Command-line interface for Google Drive operations including file management, shared drive administration, comments, and access control. Use this when you need programmatic access to Drive resources beyond basic file operations.
- Create, copy, download, and export files with support for large uploads (up to 5,120 GB)
- Manage shared drives: create, list, hide, unhide, and update metadata
- Handle file comments: create, read, update, and delete with reply support
- List and search files and folders with query parameters
- Manage access proposals and approvals for file sharing
- Monitor Drive changes and subscribe to notifications
How to install gws-drive
npx skills add null --skill gws-drive- Google Workspace CLI (gws) installed and configured
- Authentication configured via gws-shared skill
- Appropriate Google Drive API permissions for your service account or user
How to use gws-drive
- 1.Run `gws drive --help` to see available resources and methods
- 2.Authenticate using credentials configured in gws-shared
- 3.Use `gws drive <resource> <method> [flags]` to execute operations
- 4.For file uploads, use the `+upload` helper command with automatic metadata
- 5.Specify required parameters like `fields` for operations that need them
- 6.Use the `q` parameter for search queries on files and shared drives
Use cases
- Automate bulk file operations and migrations in Drive
- Create and manage shared drives programmatically for team collaboration
- Build workflows that comment on or approve access to shared documents
- Monitor Drive for changes and trigger actions based on file updates
- Export Google Workspace documents to standard formats at scale
- DevOps engineers automating Drive workflows
- Workspace administrators managing shared drives and permissions
- Integration developers building Drive-connected applications
- Teams automating document management and collaboration processes
gws-drive FAQ
Authentication is configured through the gws-shared skill. Ensure your Google Workspace credentials are set up before using drive commands.
Yes, the create method supports files up to 5,120 GB. Use the `+upload` helper command for automatic metadata handling.
Use the `list` method with the `q` parameter to combine search terms. By default, results include trashed files; use `trashed=false` to exclude them.
The export method converts Google Workspace documents to requested MIME types, with output limited to 10 MB per file.
Use the `changes` resource with `list` to retrieve changes or `watch` to subscribe to notifications for real-time updates.
Full instructions (SKILL.md)
Source of truth, from googleworkspace/cli.
name: gws-drive description: "Google Drive: Manage files, folders, and shared drives." metadata: version: 0.22.5 openclaw: category: "productivity" requires: bins: - gws cliHelp: "gws drive --help"
drive (v3)
PREREQUISITE: Read
../gws-shared/SKILL.mdfor auth, global flags, and security rules. If missing, rungws generate-skillsto create it.
gws drive <resource> <method> [flags]
Helper Commands
| Command | Description |
|---|---|
+upload | Upload a file with automatic metadata |
API Resources
about
get— Gets information about the user, the user's Drive, and system capabilities. For more information, see Return user info. Required: Thefieldsparameter must be set. To return the exact fields you need, see Return specific fields.
accessproposals
get— Retrieves an access proposal by ID. For more information, see Manage pending access proposals.list— List the access proposals on a file. For more information, see Manage pending access proposals. Note: Only approvers are able to list access proposals on a file. If the user isn't an approver, a 403 error is returned.resolve— Approves or denies an access proposal. For more information, see Manage pending access proposals.
approvals
get— Gets an Approval by ID.list— Lists the Approvals on a file.
apps
get— Gets a specific app. For more information, see Return user info.list— Lists a user's installed apps. For more information, see Return user info.
changes
getStartPageToken— Gets the starting pageToken for listing future changes. For more information, see Retrieve changes.list— Lists the changes for a user or shared drive. For more information, see Retrieve changes.watch— Subscribes to changes for a user. For more information, see Notifications for resource changes.
channels
stop— Stops watching resources through this channel. For more information, see Notifications for resource changes.
comments
create— Creates a comment on a file. For more information, see Manage comments and replies. Required: Thefieldsparameter must be set. To return the exact fields you need, see Return specific fields.delete— Deletes a comment. For more information, see Manage comments and replies.get— Gets a comment by ID. For more information, see Manage comments and replies. Required: Thefieldsparameter must be set. To return the exact fields you need, see Return specific fields.list— Lists a file's comments. For more information, see Manage comments and replies. Required: Thefieldsparameter must be set. To return the exact fields you need, see Return specific fields.update— Updates a comment with patch semantics. For more information, see Manage comments and replies. Required: Thefieldsparameter must be set. To return the exact fields you need, see Return specific fields.
drives
create— Creates a shared drive. For more information, see Manage shared drives.get— Gets a shared drive's metadata by ID. For more information, see Manage shared drives.hide— Hides a shared drive from the default view. For more information, see Manage shared drives.list— Lists the user's shared drives. This method accepts theqparameter, which is a search query combining one or more search terms. For more information, see the Search for shared drives guide.unhide— Restores a shared drive to the default view. For more information, see Manage shared drives.update— Updates the metadata for a shared drive. For more information, see Manage shared drives.
files
copy— Creates a copy of a file and applies any requested updates with patch semantics. For more information, see Create and manage files.create— Creates a file. For more information, see Create and manage files. This method supports an /upload URI and accepts uploaded media with the following characteristics: - Maximum file size: 5,120 GB - Accepted Media MIME types:*/*(Specify a valid MIME type, rather than the literal*/*value. The literal*/*is only used to indicate that any valid MIME type can be uploaded.download— Downloads the content of a file. For more information, see Download and export files. Operations are valid for 24 hours from the time of creation.export— Exports a Google Workspace document to the requested MIME type and returns exported byte content. For more information, see Download and export files. Note that the exported content is limited to 10 MB.generateIds— Generates a set of file IDs which can be provided in create or copy requests. For more information, see Create and manage files.get— Gets a file's metadata or content by ID. For more information, see Search for files and folders. If you provide the URL parameteralt=media, then the response includes the file contents in the response body. Downloading content withalt=mediaonly works if the file is stored in Drive.list— Lists the user's files. For more information, see Search for files and folders. This method accepts theqparameter, which is a search query combining one or more search terms. This method returns all files by default, including trashed files. If you don't want trashed files to appear in the list, use thetrashed=falsequery parameter to remove trashed files from the results.listLabels— Lists the labels on a file. For more information, see List labels on a file.modifyLabels— Modifies the set of labels applied to a file. For more information, see Set a label field on a file. Returns a list of the labels that were added or modified.update— Updates a file's metadata, content, or both. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might be changed automatically, such asmodifiedDate. This method supports patch semantics. This method supports an /upload URI and accepts uploaded media with the following characteristics: - Maximum file size: 5,120 GB - Accepted Media MIME types:*/*(Specify a valid MIME type, rather than the literal*/*value.watch— Subscribes to changes to a file. For more information, see Notifications for resource changes.
operations
get— Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
permissions
create— Creates a permission for a file or shared drive. For more information, see Share files, folders, and drives. Warning: Concurrent permissions operations on the same file aren't supported; only the last update is applied.delete— Deletes a permission. For more information, see Share files, folders, and drives. Warning: Concurrent permissions operations on the same file aren't supported; only the last update is applied.get— Gets a permission by ID. For more information, see Share files, folders, and drives.list— Lists a file's or shared drive's permissions. For more information, see Share files, folders, and drives.update— Updates a permission with patch semantics. For more information, see Share files, folders, and drives. Warning: Concurrent permissions operations on the same file aren't supported; only the last update is applied.
replies
create— Creates a reply to a comment. For more information, see Manage comments and replies.delete— Deletes a reply. For more information, see Manage comments and replies.get— Gets a reply by ID. For more information, see Manage comments and replies.list— Lists a comment's replies. For more information, see Manage comments and replies.update— Updates a reply with patch semantics. For more information, see Manage comments and replies.
revisions
delete— Permanently deletes a file version. You can only delete revisions for files with binary content in Google Drive, like images or videos. Revisions for other files, like Google Docs or Sheets, and the last remaining file version can't be deleted. For more information, see Manage file revisions.get— Gets a revision's metadata or content by ID. For more information, see Manage file revisions.list— Lists a file's revisions. For more information, see Manage file revisions. Important: The list of revisions returned by this method might be incomplete for files with a large revision history, including frequently edited Google Docs, Sheets, and Slides. Older revisions might be omitted from the response, meaning the first revision returned may not be the oldest existing revision.update— Updates a revision with patch semantics. For more information, see Manage file revisions.
teamdrives
create— Deprecated: Usedrives.createinstead.get— Deprecated: Usedrives.getinstead.list— Deprecated: Usedrives.listinstead.update— Deprecated: Usedrives.updateinstead.
Discovering Commands
Before calling any API method, inspect it:
# Browse resources and methods
gws drive --help
# Inspect a method's required params, types, and defaults
gws schema drive.<resource>.<method>
Use gws schema output to build your --params and --json flags.
Related skills
More from googleworkspace/cli and the wider catalog.
gws-gmail
Send, read, and manage Gmail emails via Google Workspace CLI.
gws-docs
Read and write Google Docs via command line.
gws-calendar
Manage Google Calendar events, calendars, and access control via CLI.
gws-sheets
Read and write Google Sheets spreadsheets via CLI.
gws-gmail-send
Send emails via Gmail with attachments, CC/BCC, HTML support, and draft options.
gws-docs-write
Append plain text to the end of a Google Docs document.