# Obsidian CLI bridge state **State**: The working path is now a wrapper-first setup rather than direct dependence on the app binary. `obsidian` resolves to `~/.local/bin/obsidian`, which hands off to a LaunchAgent bridge in the user session. The bridge starts Obsidian when needed, routes CLI commands from sandboxed agent contexts, and keeps successful runs quiet in the logs. `/opt/homebrew/bin/obsidian` now delegates into the same fixed path, so PATH drift should no longer reintroduce the old failure. **Decided**: - Keep the bridge as the actual fix for GUI-session launch failures from seatbelted agent contexts. - Keep `~/.local/bin/obsidian` as the canonical command path. - Make the Homebrew shim delegate to the local wrapper so old call sites still work. **Rejected**: - Treating the problem as only a bad diagnosis or a sandbox-only illusion — direct command resolution and cold-start behavior were both part of the failure. - Relying on escalation as the long-term answer — it proved the diagnosis but did not fix the command path. **Open**: - Watch whether Claude inside Obsidian remains stable across repeated `version`, `read`, `daily:path`, and `eval` calls. - If the bridge misbehaves again, inspect `~/.local/var/log/obsidian-cli-bridge-stderr.log` first.