Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian
GitHub

CoNote Git

Maximilian WitteMaximilian Witte194 downloads

Sync individual vault subfolders with collaborators via GitHub — automatic push/pull, no manual commits, with side-by-side conflict resolution. Super simple, full data ownership, completely free.

Add to Obsidian
CoNote Git screenshot
  • Overview
  • Scorecard
  • Updates12

Collaborate on Obsidian notes through GitHub — super simple, full data ownership, completely free.

CoNote Git syncs individual vault folders with collaborators automatically. No manual commits, no subscriptions, no servers. Just a GitHub repo you already own.

You don't need to link a full vault, just where ever you want to collaborate in your Obsidian!


Super simple & full data ownership

Most collaboration tools route your notes through someone else's servers. CoNote Git doesn't exist in the middle — your notes go directly from your vault to a GitHub repo you control, and to your collaborators' vaults. That's it.

  • Simple. Your notes live in a GitHub repo that belongs to you. Delete the plugin tomorrow and your notes are still there, as plain git history.
  • Full privacy. Use a private repo and nobody outside your collaborators can see anything. No analytics, no telemetry, no cloud accounts beyond GitHub.
  • Free forever. GitHub private repos are free. The plugin is free and open source. There's nothing to pay for.

How it works

Sign in with GitHub in one click — no tokens to generate or paste. CoNote Git handles auth via GitHub's official OAuth device flow (the same mechanism used by the GitHub CLI).

Each shared subfolder maps to its own independent GitHub repo. The rest of your vault is completely untouched.

Your vault/
├── Personal notes/        ← untouched, never synced
├── Shared/ProjectX/       ← backed by github.com/you/projectx
└── Shared/Research/       ← backed by github.com/group/research

Push: edit a file → 10s inactivity → auto-commit & push
Pull: every 30s → fetch & merge silently
Conflict: merge modal opens → you resolve → plugin commits & pushes

No raw conflict markers ever appear in your notes.

CoNote Git


Why not Obsidian Git?

Obsidian Git tracks your entire vault as one repo. CoNote Git lets you have multiple independent shared subfolders, each backed by a different repo, while the rest of your vault stays private and untracked. It also requires no system git installation — everything runs inside Obsidian.


Setup

1. Install the plugin

Copy main.js, manifest.json, styles.css into:

<vault>/.obsidian/plugins/conote-git/

Enable in Settings → Community plugins.

2. Sign in

Open Settings → CoNote Git → click Sign in with GitHub. Your browser opens, you enter a short code, done. No passwords shared with the plugin.

3. Create a repo per shared folder (repo owner only, one-time)

Create a private repo on GitHub. Add collaborators under Settings → Collaborators. Each collaborator accepts the GitHub invite. That's the entire sharing setup.

4. Add a folder mapping

Click Add folder mapping, pick a vault folder, pick a GitHub repo, click Clone / init. Sync starts automatically.


Conflict resolution

When two people edit the same lines between syncs:

  1. The Resolve conflict modal opens automatically
  2. Left pane: your version · Right pane: incoming version
  3. Bottom: editable merged result
  4. Use "Use mine" / "Use theirs" or edit freely
  5. Click Save & push

Architecture & MCP future

The sync logic lives in src/core/ with no Obsidian imports, making it reusable outside the plugin. A planned MCP server will expose push / pull as tools so Claude can act as a named collaborator — appearing in git history like any other author, with no special infrastructure required.


License

MIT © Maximilian Witte

HealthExcellent
ReviewSatisfactory
About
Collaborate on notes via GitHub by syncing selected vault subfolders to repos you control, keeping the rest of your vault private and untracked. Auto-commit edits after inactivity, auto-pull and merge frequently, and resolve conflicts with a merge modal—no raw conflict markers, external servers, or system git required.
GitCollaborationSyncing
Details
Current version
0.1.11
Last updated
2 weeks ago
Created
2 months ago
Updates
12 releases
Downloads
194
Compatible with
Obsidian 1.7.2+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Maximilian WitteMaximilian Wittemaximilianwte
GitHubmaximilianwte
  1. Community
  2. Plugins
  3. Git
  4. CoNote Git

Related plugins

GitHub

GitHub Sync

Sync vault to personal GitHub.

Relay

Collaborate in real time with live cursors. Share folders. Manage access to updates.

GitHub

Git Sync

Sync your vault across all devices using your own GitHub account. Free forever.

File Share

Enables end-to-end encrypted file sharing directly between vaults through a socket server.

Direct Git Sync

Sync your vault natively with a GitHub repository on both Desktop and Mobile.

Git File Sync

Both mobile and desktop. Selectively sync the notes you choose—not your whole vault—with GitHub, GitLab, or Gitea. No local Git repository required.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Git

Integrate Git version control with automatic backup and other advanced features.

Full Calendar Remastered

Complete Calendar HUB experience. Work with all your calendars in one place. Analyze your time and take action!

Self-hosted LiveSync

Sync vaults securely to self-hosted servers or WEBRTC.