Worktree Viewer

approved

by 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.

54 downloadsUpdated 26d agoMIT

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-locks so 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 cwd field 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 push to your repository's origin remote and creates a pull request via gh (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.