Worktree Viewer
approvedby Sebastian Winkler
Watch git worktrees live from your vault: agent presence dots, per-worktree diffs and previews, one-click commit and pull request creation. - This plugin has not been manually reviewed by Obsidian staff.
Worktree Viewer — mission control for git worktrees in Obsidian
Watch AI agents (or anyone) work in git worktrees, live, from inside your vault — then accept their work with one click.
Every Obsidian git plugin versions your vault. This one inverts that: your vault becomes the cockpit for repos changing beneath it. Built for the parallel-agent era — run several Claude Code sessions in worktrees and watch their edits stream in while you write.
What it does
- Live worktree panel — every worktree of your repo, refreshed every 4s while open (and fully idle when closed). No flicker: rows re-render only when their state changes, and your own typing doesn't redraw agent rows.
- Agent presence dots — a pulsing dot on any worktree where a Claude Code session is actively writing, read from the session's own transcripts. "idle 4m" when it stops.
- Changed files per worktree — diffed against the merge-base (no phantom changes after siblings merge), untracked files included, click any file for a colored diff or a fully rendered preview of the worktree's version of the note.
- Commit all & create PR — one click commits the agent's uncommitted work, pushes the branch, and opens a pull request (via
gh, with a GitHub compare-page fallback). Nothing is deleted; the worktree stays until the PR merges. - Safe by construction — all polling uses
--no-optional-locksso the plugin never contends with your agents' own git operations.
Install
In Obsidian: Settings → Community plugins → Browse, search for "Worktree Viewer", install and enable. (Directory listing)
Manual: download main.js, manifest.json, styles.css from the latest release into <vault>/.obsidian/plugins/worktree-viewer/, then enable it in Settings → Community plugins.
Setup
Settings → Worktree Viewer → Repository path: the absolute path of the git repo whose worktrees you want to watch (defaults to the vault folder). Works when the vault is a subfolder of the repo. Then open the panel via the git-branch ribbon icon.
Requirements: desktop only; git on PATH; gh (optional — enables direct PR creation, otherwise you get the GitHub compare page).
Disclosures
Per Obsidian's developer policies, this plugin:
- Accesses files outside your vault. That is its purpose: it reads the git repository you configure in settings (which may contain your vault), its worktrees, and — for the agent presence dots — file modification times and the
cwdfield of Claude Code session transcripts under~/.claude/projects/. All reads are local; transcript contents are never displayed, stored, or transmitted. - Executes local binaries. It shells out to your installed
git(read-only polling with--no-optional-locks; write operations only when you explicitly click Create PR) and, optionally, the GitHub CLI (gh). - Uses the network only on your explicit action. Clicking "Create PR" runs
git pushto your repository'soriginremote and creates a pull request viagh(or opens the GitHub compare page). There is no other network activity — no telemetry, no ads, no update mechanism, no remote code.
Development
Plain JavaScript, no build step, zero dependencies. Tests use node's built-in runner:
node --test
The suite includes scratch-repo integration tests that exercise real git worktrees, pushes, and the PR sequence against a local bare origin.
License
MIT © Sebastian Winkler
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.