DriveCLI — Manage Google Drive From Your Terminal
A fast, cross-platform command-line tool for Google Drive — built with .NET 9, shipped as a single binary.

Why Another Google Drive Tool?
Google Drive is great — until you need to manage files on a remote server, automate uploads in a script, or just prefer working in a terminal. The web UI doesn't help when you're SSH'd into a Linux box, and the official desktop client isn't designed for automation or headless environments.
That's why I built DriveCLI — a single-binary command-line tool that brings Google Drive directly into your terminal. No installation wizards, no runtime dependencies, no GUI required.
What Is DriveCLI?
DriveCLI is an open-source Google Drive CLI written in C# on .NET 9. It compiles to a single self-contained executable that runs on Windows, Linux, and macOS — you just download one file and start using it.
It covers the operations you use most:
Authentication — OAuth 2.0 with browser-based and manual code-paste flows
Browse & Search — List folders, search files by name or MIME type
Upload & Download — With real-time progress bars, transfer speed, and ETA
File Management — Move, rename, trash, permanently delete, and share files
Background Transfers — Uploads and downloads continue even if you close the terminal
Key Features
Single Binary, Zero Dependencies
DriveCLI ships as one executable file. There's no .NET runtime to install, no package manager to configure. Download it, put it on your PATH, and you're ready to go.
Works Over SSH and Headless Servers
DriveCLI auto-detects headless environments (no display server, SSH sessions, containers) and switches to a manual code-paste authentication flow. You can authenticate from any device with a browser — even your phone — and paste the code back into your terminal.
drivecli login --manual
Resumable Uploads
Large file uploads use Google Drive's resumable upload protocol, sending data in 1 MB chunks. If the connection drops, the upload can resume from where it left off instead of starting over.
MD5 Integrity Verification
Every file transfer — upload or download — is verified against Google Drive's stored MD5 checksum. If something goes wrong during transfer, you'll know immediately.
Background Transfers
When you start an upload or download, DriveCLI spawns a background worker process. Press Ctrl+C or close the terminal, and the transfer keeps running. Check on it anytime:
drivecli ps # List all active transfers
drivecli ps aae34 # Inspect a specific transfer
drivecli ps-stop aae34 # Cancel a transfer
Rich Terminal UI
Built with Spectre.Console, DriveCLI renders formatted tables, progress bars with speed and ETA, icons, and colour — making the terminal experience pleasant and informative.
JSON Output for Scripting
Every listing command supports --json output, making it easy to pipe results into jq, scripts, or other tools:
drivecli ls --json | jq '.[].name'
drivecli find "report" --json
Quick Start
1. Set Up Google Cloud Credentials
Go to the Google Cloud Console
Create a project and enable the Google Drive API
Create an OAuth 2.0 Desktop client credential
Copy the Client ID and Client Secret
2. Install DriveCLI
Download the binary for your platform from the GitHub releases page and add it to your PATH.
Or build from source:
git clone https://github.com/bishojit/DriveCLI.git
cd DriveCLI
dotnet build
3. Sign In
drivecli login
Enter your Client ID and Secret when prompted. Your browser opens for Google authorization. Once approved, you're authenticated — no need to log in again unless you explicitly log out.
4. Start Using It
# List your Drive files
drivecli ls
# Search for a file
drivecli find "quarterly-report"
# Upload a file
drivecli upload ./presentation.pptx
# Upload an entire folder
drivecli upload ./project-files --recursive
# Download a file
drivecli download FILE_ID --output ./downloads
# Share a file
drivecli share FILE_ID
Full Command Reference
| Command | Description |
|---|---|
drivecli login |
Sign in (browser-based or manual flow) |
drivecli logout |
Revoke tokens and clear credentials |
drivecli ls [folder-id] |
List files in a folder |
drivecli find <query> |
Search files by name |
drivecli upload <path> |
Upload a file or folder |
drivecli download <id> |
Download a file or folder |
drivecli mv <id> <folder-id> |
Move a file |
drivecli rename <id> <name> |
Rename a file or folder |
drivecli rm <id> |
Trash or permanently delete |
drivecli share <id> |
Generate a shareable link |
drivecli ps |
List background transfers |
drivecli ps-stop <id> |
Stop a background transfer |
Built With
| Component | Technology |
|---|---|
| Language | C# / .NET 9 |
| Google Drive API | Google.Apis.Drive.v3 |
| CLI Framework | Spectre.Console.Cli |
| Terminal Rendering | Spectre.Console |
| Authentication | Google.Apis.Auth (OAuth 2.0) |
| Distribution | Trimmed, self-contained single-file binary |
Who Is This For?
Developers who manage files on remote servers via SSH
DevOps / SysAdmins who need automated Drive backups or deployments
Power users who prefer the terminal over browser-based file management
Anyone who wants a lightweight, portable Google Drive client without heavy desktop apps
Open Source
DriveCLI is open source under the MIT License. Contributions, issues, and feature requests are welcome.
What's Next?
I'm actively working on DriveCLI and plan to add more features based on community feedback. If you have ideas or run into issues, feel free to open an issue on GitHub.
Give it a try, and let me know what you think!
🏢 About Bikiran
Bikiran is a software development and cloud infrastructure company founded in 2012, headquartered in Khulna, Bangladesh. With 15,000+ clients and over a decade of experience, Bikiran builds and operates a suite of products spanning domain services, cloud hosting, app deployment, workflow automation, and developer tools.
| SL | Topic | Product | Description |
|---|---|---|---|
| 1 | Website | Bikiran | Main platform — Domain, hosting & cloud services |
| 2 | Website | Edusoft | Education management software for institutions |
| 3 | Website | n8n Clouds | Managed n8n workflow automation hosting |
| 4 | Website | Timestamp Zone | Unix timestamp converter & timezone tool |
| 5 | Website | PDFpi | Online PDF processing & manipulation tool |
| 6 | Website | Blog | Technical articles, guides & tutorials |
| 7 | Website | Support | 24/7 customer support portal |
| 8 | Website | Probackup | Automated database backup for SQL, PostgreSQL & MongoDB |
| 9 | Service | Domain | Domain registration, transfer & DNS management |
| 10 | Service | Hosting | Web, app & email hosting on NVMe SSD |
| 11 | Service | Email & SMS | Bulk email & SMS notification service |
| 12 | npm | Chronopick | Date & time picker React component |
| 13 | npm | Rich Editor | WYSIWYG rich text editor for React |
| 14 | npm | Button | Reusable React button component library |
| 15 | npm | Electron Boilerplate | CLI to scaffold Electron.js project templates |
| 16 | NuGet | Bkash | bKash payment gateway integration for .NET |
| 17 | NuGet | Bikiran Engine | Core .NET engine library for Bikiran services |
| 18 | Open Source | PDFpi | PDF processing tool — open source |
| 19 | Open Source | Bikiran Engine | Core .NET engine — open source |
| 20 | Open Source | Drive CLI | CLI tool to manage Google Drive from terminal |
| 21 | Docker | Pgsql | Docker setup for PostgreSQL |
| 22 | Docker | n8n | Docker setup for n8n automation |
| 23 | Docker | Pgadmin | Docker setup for pgAdmin |
| 24 | Social Media | Bikiran on LinkedIn | |
| 25 | Social Media | Bikiran on Facebook | |
| 26 | Social Media | YouTube | Bikiran on YouTube |
| 27 | Social Media | FB n8nClouds | n8n Clouds on Facebook |





