by Garrett Riefenstahl
Sync your vault both ways with Google Drive, Dropbox, OneDrive or any other rclone remote.
Rclone Bisync
Sync an Obsidian vault with Google Drive for free. This desktop plugin runs
rclone bisync for you, so edits, new files and deletions move in both
directions. Each vault lands in Obsidian/<vault name>/ on your Drive. Any
other rclone remote works too.
Setup
-
Install rclone (v1.66 or newer):
System Command Windows winget install Rclone.RclonemacOS brew install rcloneLinux sudo -v ; curl https://rclone.org/install.sh | sudo bashDistro packages often ship an rclone too old for bisync, so on Linux use the install script. rclone.org/install lists other options.
-
Connect Google Drive. Open a new terminal and run
rclone config:n(new remote) → name gdrive → storage drive → paste your client_id and client_secret (how to get them, or leave both blank) → scope 1 (full access) → accept the defaults → y for auto config. Sign in to Google in the browser window rclone opens. -
Install the plugin. Once it's listed, search for Rclone Bisync under Settings → Community plugins → Browse. To install by hand, download
main.jsandmanifest.jsonfrom the latest release into<your vault>/.obsidian/plugins/rclone-bisync/. On macOS,.obsidianis hidden in Finder. Press Cmd+Shift+. to show it. -
In Obsidian, open Settings → Community plugins, turn off Restricted mode if it's on, and enable Rclone Bisync.
-
In the plugin settings, click Test connection, then Dry run, then Sync.
Google client ID (recommended)
If you leave client_id blank, rclone signs in through its built-in Google app. Every rclone user shares that app's speed limit, so large syncs can stall with "rate limit exceeded" errors. Your own client ID takes about ten minutes to set up and costs nothing.
- Go to console.cloud.google.com and create a project. Any name works.
- Open APIs & Services → Library, search for Google Drive API, and click Enable.
- Open Google Auth Platform (called OAuth consent screen in older versions of the console). Pick External, give the app a name, and enter your email where it asks.
- Under Audience, click Publish app. Skip this and Google signs
rclone out every 7 days with an
invalid_granterror. You don't need Google's verification for personal use. - Under Clients, create a client of type Desktop app. Copy the
Client ID and Client secret into
rclone config.
When you sign in, Google warns that it hasn't verified the app. You built the app yourself, so click Advanced → Go to (app name).
Already set up rclone without one? Add it to your existing remote and sign in again:
rclone config update gdrive client_id=YOUR_ID client_secret=YOUR_SECRET
rclone config reconnect gdrive:
rclone keeps the ID, secret and login in its own config file (rclone config file
prints the path). Keep that file out of your vault and out of git, since it
grants full access to your Drive.
How it works
When it syncs. At startup and 30 seconds after you stop editing. If you haven't changed anything, it stays idle. To sync by hand, click the ribbon icon, the ☁ item in the status bar, or run Sync now from the command palette.
If you edit the vault on another computer while this one has Obsidian open, set Check Drive for changes to pull those edits on a timer (15 minutes works well). It ships turned off.
First sync. On each computer, the first run merges your vault with Drive and deletes nothing. Later runs pass deletions through.
Conflicts. If you edit the same note on two computers between syncs, the
newer version wins. The plugin keeps the other one as note.md.conflict1 so
you can merge them yourself.
Skipped files. .obsidian/workspace*.json (each computer's open tabs and
layout), the plugin's own data.json and log, .git, and OS junk like
Thumbs.db. Add your own patterns under Extra excludes. Your settings,
themes and other plugins still sync.
Safety. rclone stops the run if it would delete more than half your files.
Using other services
The plugin works with any storage rclone supports. Run rclone config,
create a remote for your service, and enter its name under Remote name
in the plugin settings. OneDrive, Dropbox, Box, pCloud, Nextcloud (WebDAV)
and S3-compatible storage like Backblaze B2 all work well.
Proton Drive. Create a remote of type protondrive. rclone asks for your
username, password and a 2FA code, then saves a login session so you don't
need a new code for each sync. Know these trade-offs first:
- Proton has no public API. rclone's Proton backend is in beta and copies how Proton's own apps talk to its servers, so a change on Proton's side can break syncing until rclone catches up.
- Your computer encrypts every file before upload, so syncs run slower than with Google Drive.
- If Proton ends your session (after a password change, for example), the
status bar shows Sync failed. Run
rclone config reconnect <remote>:to sign in again. - On Windows and macOS, Proton's official Proton Drive app can sync a vault folder without this plugin. The plugin makes the most sense on Linux, where Proton has no official app.
Disclosures
- External program. The plugin runs the
rcloneprogram installed on your computer. It doesn't download or bundle rclone. - Network use. rclone uploads your vault's files to the remote you configure (Google Drive by default) and downloads changes from it. The plugin sends nothing anywhere else and has no telemetry.
- Accounts. You need an account with your storage service. Your login stays in rclone's own config file. The plugin never reads it.
- Files outside the vault. The plugin reads rclone's location from your system, and rclone keeps its sync state in its own cache folder.
Troubleshooting
- To see what happened, run Rclone Bisync: Open sync log.
- If syncs keep failing, run Rclone Bisync: Force full resync.
- If you see "rclone not found", run
which rclone(macOS/Linux) orwhere rclone(Windows) and paste the result into the plugin settings. The plugin checks the usual install folders for winget, Scoop, Chocolatey, Homebrew, snap and the rclone script on its own. - The Flatpak build of Obsidian runs in a sandbox and can't start rclone. On Linux, use the AppImage or .deb build instead.
- Closing Obsidian doesn't trigger a final sync. Edits you make right before closing go up the next time you open it.
Works on Windows, macOS and Linux. Obsidian mobile can't run rclone.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.