Obsidian Sync now has a headless client
https://help.obsidian.md/sync/headlessI’ve been having a lot of fun recently using AI CLIs with Obsidian. No plugins necessary because it’s just a directory tree of markdown files.
I like that I can have some vaults that sync to both my personal and work laptops and other vaults that only sync to one or the other.
It’s awfully convenient without any vendor lock in since I can just take my plain markdown files and leave anytime.
Its nice to be able to review it all from one machine though
Its one of the few subscriptions where it actually feels like money well spent
The conflicts are never hard: it's like a git merge conflict where you just take the latest of every conflict block.
There can't be a will from the devs to make it hard to sync.
It's just that unlike git or Dropbox or whatever, that are just generic "syncing" tools, Obsidian Sync has been built to provide the best experience with Obsidian.
With Obsidian Sync you manage everything directly in Obsidian: sync status, activity, history, selective sync...
And "it just works" across platform, without having to think about/set something else up.
So when I talk about selective sync, it's about what is synced within a vault, and more specifically Obsidian settings/plugins...
I don't have the need to selectively sync only some of my vault's content, so never looked into it.
I just know that Obsidian Sync does what I'm expecting it to do.
And to add some context: I'd rather they just add a regular "Obsidian" sub that included vault sync; instead of giving away Obsidian for free, and selling add-ons. Because on itself, Obsidian Sync is quite expensive. If I'm willing to pay that much for that little, it's because, to me, I'm paying first for the development of Obsidian in itself.
But I understand why they wanted to go this way.
I don't know if it is/was the best move; because I see lots of people not willing to use Obsidian just because they are "scamming" people on their expensive Sync add-on.
Obsidian Sync has always been presented as a paid add-on, here to provide income for the company building Obsidian and giving it for free.
If they provided a direct BYOS(ync/erver) mechanism, less people would pay for the add-on, which is their source of income.
Instead, they let you use your own sync mechanism by only relying on text files.
I understand why some people could get upset about this, but they've always been transparent :
- no proprietary format ; can migrate at anytime without effort
- free but closed-sourced software
- add-ons for income
After the tenth time iCloud absolutely destroyed my vault’s file layout and scattered copies of my files all over my iCloud Drive, I just gave up and shell out for paid sync now. It’s fine. I don’t mind paying for things I get actual value from.
The only limitation comes if you use the vault in a closed system like iOS, where you can't run terminal commands. other than that, flawless.
- https://isolated.tech/apps/syncmd
- https://isolated.tech/apps/syncmd/blog/obsidian-git-ios-setu...
You can git clone directly to your iOS file system which fixes the Obsidian git plugin issue so you can use the Obsidian git plugin on your computer and mobile devices.
Something breaks, one automatically updates and then it breaks the entire database, SCRAM mode, recovering is painful, and all the time I get warnings, spam and logs, it's anything but seamless.
Which is a real pity, because when it works it feels magical to use within my laptop, my phone and my tablet, all self hosted, but the pain won and so I'm searching for new alternatives.
I just wish there were more solutions to add simple things like copy and paste to them.
As though they were more a derivative of the text box I type in right now. And less to MS-DOS I grew up with.
Outside of that, agreed. Eliminate GUI as a blocker.
I also used some plugins like bugwarrior to sync Jira/GitHub tickets locally. This is perfect when working on multiple projects/repos.
But I guess moving from Unix one tool for each job to swiss knife tool makes Obsidian overwhelming. Maybe it’s better to bridge these two tools in some way (plugins) rather than misuse Obsidian features.
I agree that now that this is a possibility, some sort of a wrapper would be great to see.
How would I be able to search obsidian links from the command line?
Like, to travel between notes in the app of course I can just click on connecting links or search, but I wouldn't have the faintest idea how to do that in a cli.
Is there some handy way to search the current folder and subfolders for text in a file with regex? Like some kind of >find term for all of my [[term]] entries in markdown files ?
Notes being plain text files means that what you get by showing via a CLI is essentially the same as just `cat whatever-it-is.md`. Viewing a note via the CLI interface could have its merits (it could apply its own flavor of presentation), but come on now. Your example doesn't hold.
Fixes all the problems I've had about "In what order do I put this data" and flipping back and forth in a huge stack of papers.
Definitely will be looking at the official Obsidian sync plan now.
Also, is the Obsidian CLI available when obsidian-headless is installed? Or is obsidian-headless only a sync client at this time?
https://help.obsidian.md/sync/troubleshoot
- Markdown files: Obsidian Sync merges the changes using Google's diff-match-patch algorithm.
- Other file types: For all other files, including canvases, Obsidian uses a "last modified wins" approach. The most recently modified version replaces earlier versions.
For conflicts in Obsidian settings, such as plugin settings, Obsidian Sync merges the JSON files. It applies keys from the local JSON on top of the remote JSON.
also, thanks for the great product, bought the vip catalyst as a show of support.
https://help.obsidian.md/teams/sync
If your team is more technical Git is an option. If you want completely control over permissions and configuration then a shared drive is probably better.
If my project has a readme.md I don't want to create an obsidian vault with its configuration files in my project, just to open it.
It's a bit trickier than it seems because a lot of Obsidian configuration and app functionality is vault-specific. E.g. what theme should be used? What plugins should be available? Does autocomplete for [[links]] or properties do anything? Etc.
If you have a window open, the file is opened to the workspace for that window. You can see this in action because the "Trust" dialog specifically says that you're trying to open untrusted files into a trusted workspace.
Claude helped me vibe code a small rust editor : https://github.com/Karalix/markzap it's tuned to my usage, you should make your own too !
Before opening HN this morning and seeing this post, I actually wrote a post about how I'm experimentally using headless to publish my blog: https://utf9k.net/blog/obsidian-headless/
Well, that post was my experiment but I'll be looking forward to trying it out going forward.
There are of course many alternatives and I'm sure this workflow may have its pains but for now, it feels like a lot less friction between actually writing and having it published.
I've used plain Git for many years of course but I've also tried other rube goldberg machines such as various Git-inside-Obsidian plugins and so on but there's always just a bunch of "stuff" between writing and putting it online.
I also built a cli tool to index embeddings in LanceDB and do semantic search. It helps agents create better internal links between notes. https://github.com/ravila4/obsidian-semantic-search
I find that it is useful as a way to quickly catch up a new session by asking it to read what we did yesterday or earlier that day.
The semantic search layer allows it to search further back in time, or find connections across unrelated notes. I built it because it used to waste a lot of tool calls with grep commands whenever I asked it to find something.
I'm still iterating, but I put together a repo with some of the skills that I find most useful for organization: https://github.com/ravila4/claude-adhd-skills
I'm so done with subscriptions for cloud based solutions and between livesync and syncthing, you've got a very robust set of options to use.
iCloud sync actually messed up every file I opened due to the lag between remote copy and local edits. iCloud would delete the last few edits whether I was in the file or after closing the file. Sometimes I would be typing something and I'd watch it delete what I just typed. It was a complete disaster.
I wanna be able to talk to a document and iterate on it just like chatgpt with canvas but inside obsidian.
I've been digging around and haven't quite found anything to do that.
One potential challenge is I'm not sure how easy it would be to let it do tool calling to edit the document rather than spitting out the whole document each time (with risk of minor changes).
> The retention period for your version history depends on your Obsidian Sync plan. On the Standard plan, notes are retained for 1 month, while on the Plus plan, they are kept for 12 months. After this period, older versions of your notes are deleted.
- Built-in version history
- Cross-platform support, especially on mobile
- Fine-grained control (e.g. different theme/plugins/settings per device)
- Sharing your vaults with other users
Obsidian is a note and wiki syncing system.
You should use an obsidian syncing system if you want to sync notes and wikis. You should use a file syncing system if you want to sync files.
A key feature of Obsidian is that it stores your notes in an open folder structure on your file system.
A very valid question is whether there are benefits to using a special note sync application rather than a standard file system sync application, and if so, what those benefits are.
As such, on iOS the native sync is the only one that works cleanly and seamlessly, and so you're incentivized to pay for it.
There was a little while, when dropbox was big, where it seemed like the future of computing would be "your data is in the cloud, and every app you use can share that data, and those two things are independent integrated through some common filesystem layer".
And then it ended up that no, your data's in a cloud-per-service, where your emails live in googles cloud, your documents in microsoft 365's cloud, your images in "adobe creative cloud"'s cloud, your photos in Apple's cloud, your passwords in 1Password's cloud, and your knowledgebase in Obsidian's cloud.
The dream of the filesystem API being able to expand to clouds, of being able to choose dropbox or google or apple as the owner of your data, and other applications seamlessly integrating with any of them, it died with apple making it impossible to offer any sort of generic filesystem API or even background sync.
And so, that's why you'd use obsidian sync over git, because you're cursed with using a phone.
Unless you're saying "why not pay for obsidian sync, but then sync it into a git repo in CI and commit there to see the diffs", not "why not use git as the underlying sync protocol", in which case ignore everything I wrote, you totally could do that.
Apple's cloud storage remained WebDAV a very very long time.
Apple's iOS has a pluggable Files system. Use Working Copy to give other apps access to folders sync'd with git: https://workingcopy.app
Or a dedicated app like GitSync: https://apps.apple.com/us/app/gitsync/id6744980427
Which gates "sync" behind an expensive "premium" paywall.
It feels criminal to charge that much for the sync feature when it also can't possibly work, iOS actively does not want apps to run in the background, and does not offer a viable method for this libgit wrapper to execute libgit on, for example, a filesystem inotify event or write or whatever.
https://github.com/ViscousPot/GitSync/issues/807#issuecommen...
What do you know, people are observing it doesn't really work.
> Apple's iOS has a pluggable Files system.
Okay, excellent, maybe you can tell me how to do this.
I have opened the builtin iOS notes app. It by default can sync notes with iCloud. I would like to have it store my notes in Git or Dropbox or anything else, and be able to also edit them on another machine and have the changes sync.
I won't hold my breath on how to do this because like clearly things are not pluggable, the builtin iOS apps don't work with anything but iCloud and the filesystem is obviously not pluggable or generic.
- Automate remote backups
- Automate publishing a website
- Give agentic tools access to a vault without access to your full computer
- Sync a shared team vault to a server that feeds other tools
- Run scheduled automations e.g. aggregate daily notes into weekly summaries, auto-tag, etc
...all while having the speed, privacy, customizability, end-to-end encryption of Obsidian Sync.
Damn… I’m doing it all wrong!!
That said, I’ve switched one vault to git and have had no issues there.
Ive been surprised at how few people are interested in an obsidian browser tool, but its great if I want to read / write notes from a corporate laptop for example.
And generally help the continued development of Obsidian so we can stay 100% user-supported.
Along with sync that was the other blocker for me always.
I say mostly works, because there are a lot of "gotchas" and the configuration and set up are a bit intimidating for the clients (the server is simple to host).
I used it for a while and it was fine, but I decided the cost of a coffee per month is worth not having to maintain it, and I switched to paying for their sync service.
However, there is also a git sync plugin that works really nicely. But it is not a real-time sync and it is not supported on mobile (officially). I mainly use that as a way to keep long running backups of my vaults in a self-hosted gitea instance (the default paid tier only keeps one month of history).
It does not work well for sharing to a mobile env but works great for desktop.
I no longer use Obsidian, so not sure what’s the best option for e.g. Linux <-> iOS sync except their service.
Essentially Sync while you can emulate it on desktop, for mobile it is not good experience without Sync. And we want to have and record our thoughts with us all the time.
They are trying their hardest to prevent users from using Google Drive or other services natively. While it is just a small option to add, it will make everyone drop their $4 cloud subscription.
https://help.obsidian.md/sync-notes
The goal for Obsidian Sync is to be the best option, not the only option.
###############
Other Syncing Methods:
Obsidian officially supports two syncing methods: Obsidian Sync and iCloud.
However, because obsidian gives you control over your data there are other sync options you can use.
These options include third-party plugins and other tools which may require more advanced setup.
To use an alternative sync method, create a vault and follow the instructions provided by the plugin or third-party sync provider.
###############
I went ahead and created a vault specifically to test this out, but I wasn't able to find any way to open Google Drive from within the app.
To give some context, I use KeePassium with a KeePass vault stored in my Google Drive, and it works seamlessly, I can browse to the directory and select my database right from the file picker. Unfortunately, that same experience doesn't seem to be available in Obsidian.
I'm a Windows user for work and don't use iCloud for anything, so Google Drive is really my go-to. I've tried multiple times to make it work, but it doesn't appear to be an option. As I understand it, Google Drive isn't natively selectable from Obsidian's iOS menu, and this wouldn't be a trivial thing to add since Google Drive appears as a folder in the native iOS file browser, which is exactly how I use it with other apps like KeePassium.
I've submitted this as a request on GitHub several times, and even mentioned that I'd happily pay a one-time fee to unlock this functionality. I'm not a fan of subscriptions personally, but I do believe in supporting developers for their work.
That said, if there truly is a way to use Google Drive with Obsidian on iOS, I'd genuinely love to see a step-by-step guide, could you share one?
Since my only ask was really for a workaround or a link to a solution, I'm guessing there isn't one available, and the suggestion is more about exploring community plugins?