Errors, mistakes, and unexpected behaviour — and how to resolve them. If your issue isn't listed here, open a GitHub issue.
This appears when the plugin cannot reach your R2 bucket. Common causes:
https://<account-id>.r2.cloudflarestorage.com — do not include the bucket name here.A 403 means the credentials are valid but the token lacks permission to access the bucket. Check that:
The bucket name entered in SSS settings does not match an existing bucket in your Cloudflare account. Verify the exact name — it is case-sensitive.
This means the password you entered does not match the one used to encrypt the remote files. Possible causes:
If files download but open as garbled text, the decryption failed silently. Most common reason: the encryption method on this device differs from the device that uploaded them. Check both devices have the same method set (OpenSSL or rclone).
This is expected and intentional. When the same file was edited on two devices without syncing in between, SSS detects a conflict. The winning version is written to the original path; the losing version is saved with a .conflict suffix so nothing is discarded.
Review the conflict file, merge any changes manually if needed, then delete the .conflict copy.
To reduce conflicts: keep Smart Sync enabled on all devices so changes propagate quickly.
Smart Sync fires after you stop typing for the configured idle time (default 7 seconds). If nothing is happening:
[SSS] errors.SSS uses a local database to track what was last synced. If this database is missing or was reset, the next sync compares everything from scratch. This is normal after:
One full re-sync is expected in these situations. After it completes, subsequent syncs will only transfer changed files.
Files can be skipped for several reasons:
.obsidian/ and Sync Config Dir is disabled.Use the Dry Run command (command palette → "Dry run") to see exactly which files would be synced or skipped before committing.
The pairing system uses a lightweight relay server to transfer credentials end-to-end encrypted. Failures usually mean:
If you consistently cannot use the relay, you can enter credentials manually on the new device instead.
If you are stuck, the developer console is the most useful tool. In Obsidian, open it with Ctrl+Shift+I (Windows/Linux) or Cmd+Option+I (macOS). Filter by [SSS] to see only plugin messages.
Set Log Level to Debug in SSS Advanced settings for maximum detail. Copy the relevant lines when opening a GitHub issue — it speeds up diagnosis considerably.
Still stuck? Open an issue on GitHub with your log output and a description of the problem. Include your OS, Obsidian version, and plugin version.