Obsidian
Keep a folder of your vault in two-way sync with Fokus notes — tags, buckets, images, and your files left exactly as you wrote them.
Notes in Obsidian live in a world of their own: Captain Fokus can't search them, they can't be linked to a task or an objective, and they never reach the assistant's memory. The Fokus Sync plugin keeps the folders you choose in two-way sync, so a note you wrote in your vault is a note Fokus knows about — and the other way round.
Install it
In Obsidian, open Settings → Community plugins → Browse, search for Fokus Sync, and install it — or open the plugin page and choose Add to Obsidian.
Needs Obsidian 1.11.4 or newer, and desktop only for now.
Connect it
- In Fokus, go to Settings → Integrations → Obsidian and create a token under API tokens. Name it after the vault — "Obsidian on my laptop" — so you know which one to revoke later.
- Copy it. This is the only time it's shown.
- In Obsidian, open Settings → Fokus Sync and paste the token. Your personal workspace is selected for you.
- Choose which folders to sync.
Where the token is kept
The token goes into your operating system's keychain through Obsidian's secret storage — not into your vault — so it doesn't travel with the vault through iCloud, Dropbox, or git. Obsidian's keychain is shared between plugins, so use one token per vault and revoke it from Settings → Integrations → Obsidian if you stop using the plugin. A token grants full access to your Fokus account for 90 days.
What syncs, and what doesn't
Only the folders you select. Everything else in the vault is invisible to Fokus.
To keep one note out of sync, add this to its frontmatter:
---
fokus-sync: false
---Coming the other way, only notes that started in your vault come back down. A note you wrote natively in Fokus stays in Fokus — the plugin never invents a filename or picks a folder for you.
Tags and buckets
#tags in the body and tags: in frontmatter both become Fokus tags, matched by name and created if they don't exist yet. Things that only look like tags are ignored: a # heading inside a fenced code block, a #1570EF colour, a #define.
Which bucket a note lands in is set in Fokus, on the Obsidian connection, as a folder → bucket mapping. The most specific folder wins — map both Work and Work/Clients, and a client note files itself in the client bucket.
Images
An embedded image is uploaded to Fokus and rendered there, while your file is left exactly as you wrote it. ![[diagram.png]] stays ![[diagram.png]] in the vault; Fokus keeps its own copy and the plugin translates between the two. Replace an image with a new version under the same name and it's re-uploaded the next time that note syncs.
A note with a lot of images takes a few minutes to finish, because uploads are paced to stay inside the server's limit rather than being refused half way.
Editing in both places
While you're typing in Obsidian, the plugin holds an edit lock and Fokus shows that note as read-only, so you're never racing yourself. The lock expires on its own — a crash or a closed laptop never leaves a note stuck.
If both sides do change anyway — you were offline, say — nothing is thrown away. Your file keeps what's in front of you, and the Fokus version is written beside it as Note (conflict 2026-09-17).md. That copy is marked fokus-sync: false, so it's never synced itself: it's just a file to read, merge from, and delete.
How a file stays linked
The first sync adds a fokus-id to the note's frontmatter. That key is the link. It survives renames, moves, reinstalling the plugin, and opening the vault on another machine — delete the plugin's cache and every link rebuilds from the files themselves.
Duplicate a note and the copy carries the same id. The plugin notices, leaves the original alone, and gives the copy an id of its own.
Deleting
Deleting a file stops it syncing. Its Fokus note is left exactly as it is, and vice versa.
That's deliberate: a file can vanish for reasons that were never a decision to delete anything — a move out of a synced folder, a sync hiccup, a stray keystroke — and acting on that isn't recoverable. Put the file back with its fokus-id intact and it re-links.
Commands
Open the command palette (⌘/Ctrl + P):
- Sync now — push whatever is queued.
- Check Fokus for changes — pull immediately instead of waiting for the poll.
- Sync every note in the selected folders — the first full sync. It tells you how many notes are in scope and how many aren't in Fokus yet, and asks before doing anything.
Formatting
Fokus converts the markdown, not the plugin, so there's one definition of "canonical" and your file can't drift from it. The first sync may tidy a file once — * becomes - , _italic_ becomes *italic*, tables lose column alignment — and after that it's stable.
A few things genuinely don't survive the round trip, and the plugin checks on the server, before touching your file. Anything that won't settle is refused and left exactly as you wrote it:
- escaped markdown (
\*stars\*) loses its backslashes [text](<path with spaces.md>)loses its angle brackets, and the link with them
Notes written in Fokus that contain mentions, drawings, handwritten pages, or collapsible sections can't be expressed as markdown at all. Fokus refuses to overwrite those from the vault rather than flattening them.
How is this guide?