Use case or problem
Our team uses a shared Obsidian vault. The vault files and settings are already distributed (e.g. via Git), but the final step — connecting each member’s local vault to Obsidian Sync — requires manual interaction with the GUI and cannot be automated.
Our ideal workflow is:
- A team admin runs a setup script that clones the vault, creates a new remote vault, generates an E2EE password, configures sync settings, and adds team members as collaborators.
- Each team member runs an onboarding script that prompts for the shared password and connects their local vault to the existing remote — with the same sync settings applied automatically.
Neither step is currently possible without opening the Obsidian desktop app and going through the Sync UI manually. The obsidian-headless package does support sync setup, but its configuration is entirely separate from the desktop app’s sync state, so a vault set up via headless is not recognized as synced when the same vault is opened in the desktop app.
Proposed solution
Extend the existing obsidian CLI with commands equivalent to the Sync UI: obsidian sync:setup, obsidian sync:config, etc… These would configure the desktop app’s sync state directly, so the vault is already connected when the user opens it.
As an alternative, let the desktop app recognize headless sync configuration.
If ob sync-setup (obsidian-headless) and the desktop app shared the same sync state for a given vault, a vault configured via headless would already appear as synced when opened in the app.