---
type: note
alexandria_core: true
author: alexandria
---

# Obsidian — plugin setup on this machine

How this vault's Obsidian plugins are set up on a Mac. Most of it is done for you: the vault **ships its required plugin pre-installed** — you just permit community plugins once, and (optionally) add one more plugin for the Claude Desktop power-up.

## The one distinction that trips people up
**Turning on Community plugins** (Settings → Community plugins → *Turn on community plugins*) exits Obsidian's **Restricted / Safe Mode** — the "trust author" prompt. That only **permits** community plugins to run; on its own it does **not** install any. Alexandria removes that second step for the required plugin: it **vendors Obsidian Git's code into the vault**, so the moment you turn community plugins on, it loads. Only the *optional* Semantic MCP plugin is a manual install.

## Obsidian Git — required, ships pre-installed
The vault ships both Obsidian Git's **code** (`.obsidian/plugins/obsidian-git/`) and its **settings** (`data.json`) — nothing to install or configure:

1. Open this folder as a vault in Obsidian.
2. **Settings → Community plugins → Turn on community plugins** (accept "trust author"). Obsidian Git loads immediately, already configured.
3. Confirm a **sync status** shows in the status bar. If it didn't pick up the enable, **reload Obsidian** once (Cmd-R, or reopen).

The shipped settings (in `.obsidian/plugins/obsidian-git/data.json`) — so you never touch them:

{% if repo %}| Setting | Value | Effect |
|---|---|---|
| `commitMessage` | `Alexandria: vault sync` | message on every auto-commit |
| `autoSaveInterval` | `10` | auto-commit every 10 min |
| `autoPullInterval` | `10` | auto-pull every 10 min |
| `autoPullOnBoot` | `true` | pull when Obsidian opens |
| `pullBeforePush` | `true` | rebase before pushing |
| `showStatusBar` | `true` | show the sync status |{% else %}| Setting | Value | Effect |
|---|---|---|
| `commitMessage` | `Alexandria: vault sync` | message on every auto-commit |
| `autoSaveInterval` | `10` | auto-commit every 10 min |
| `autoPullInterval` | `0` | pull off — no remote to pull from |
| `disablePush` | `true` | push off — no remote to push to |
| `showStatusBar` | `true` | show the status |

Pull and push are shipped **off** because this vault has no remote — the plugin is a
local save-point, nothing more. The `github-sync` skill turns them on when it connects
the repo.{% endif %}

{% if repo %}It commits and pushes to **`{{ repo }}`** using **this machine's git credentials** — set once by `gh auth setup-git` during install — so there's no credential to configure in the plugin.

**Troubleshooting — "can't push":** re-run `gh auth setup-git`, then confirm a plain push works from the vault folder:

```sh
git -C ~/Obsidian/<vault> push
```

Obsidian Git uses that same credential; if the manual push works, the plugin's will too. (On a `server-macos` appliance the launchd **vault-sync** job pushes on the same 10-min cadence — the two coexist safely.){% else %}This vault has **no remote configured**, so the plugin only auto-commits locally — still useful (a save-point every 10 minutes), and honest: nothing leaves this machine. Once the private GitHub backup adds a remote (say **"sync to GitHub"** — the `github-sync` skill creates the private repo and connects it), the same settings start pushing too, using this machine's git credentials.{% endif %}

## Semantic Notes Vault MCP — optional (only for the Claude Desktop local MCP)
Needed only for the desktop local-MCP power-up (see `Agent/Claude Desktop MCP.md`). This one is **not** vendored — install it from the browser:

1. **Settings → Community plugins → Browse → search "Semantic Notes Vault MCP" → Install → Enable.**
2. Open its settings and note the **local URL / port** and **API key** — feed those into `claude_desktop_config.json` per `Agent/Claude Desktop MCP.md`.

**Its key + certs are per-machine, never synced.** The vault's `.gitignore` intentionally excludes `.obsidian/plugins/semantic-vault-mcp/data.json` (the API key) and `.obsidian/plugins/semantic-vault-mcp/certificates/` (its TLS certs) — machine-local secrets that must not travel in the repo. So the plugin's *code* syncs across machines once installed, but you **generate a fresh key + certs on each machine** and point that machine's `claude_desktop_config.json` at its own port + key.

## What ships vs. what you do
| Component | Ships with the vault? | You do |
|---|---|---|
| **Obsidian Git — code** | ✅ vendored (pre-installed) | just turn on community plugins |
| **Obsidian Git — settings** | ✅ `data.json` | nothing — pre-configured |
| **Semantic MCP — code** | ❌ optional plugin | Browse → Install (then it syncs to other machines) |
| **Semantic MCP — key + certs** | ❌ gitignored (per-machine secret) | generate fresh per machine; feed into `claude_desktop_config.json` |

> Alexandria ships and pins the required plugin, so nobody has to track the plugin list by hand; a vault **update** ("update yourself") refreshes the pinned version.
