✨ Feature Release (v0.11.0)
This release introduces the Session Manager for tracking multiple chats at a glance, moves API keys into Obsidian's Keychain, teaches agents to write Obsidian-flavored Markdown from the first message, and overhauls how agents launch in WSL mode.
🌟 New:
- 🪟 Session Manager: A new sidebar view that lists every open chat (sidebar and floating) with live status icons — ready, generating, awaiting permission, or error. Click a session to focus it, or rename and close it from the context menu; truncated titles and agent names reveal their full text on hover. Open it from the chat header menu or the command palette. (#270, #324)
- 🏷 Session Title in Tab Header: Sidebar chat tabs now show the session title (derived from your first message, or the name you set via Rename) instead of a static "Agent client", so multiple tabs are individually identifiable. (#293)
- 🔑 Secure API Key Storage: API keys are now stored in Obsidian's Keychain (secret storage) instead of plain text in the plugin's data file. Existing keys are migrated automatically on first load with a notification, and debug logs no longer contain sensitive values. (#219)
- 📝 Obsidian Markdown Prompt Injection: Short formatting instructions are added to the first message of each session so agents produce output that renders correctly in Obsidian. Enabled by default — each instruction can be toggled individually under Settings → Prompt injection:
- Math formulas: use
$...$/$$...$$instead of\(...\)(#218) - Note references: use
[[Note Name]]wikilink syntax - Tables: leave a blank line before Markdown tables
- Math formulas: use
🔧 Improvements:
- 🔄 Remembers All Session Options: The plugin now remembers and restores every agent option you change (such as reasoning effort), not just the model and mode. (#325)
- 🔐 Permission Request Redesign: Permission options now appear as a vertical full-width list with color-coded icons instead of a row of colored buttons. The layout stays stable regardless of option name length, long names truncate with a tooltip showing the full text, and "always reject" options are now visually distinct from one-time rejects. (#314)
- 🎨 Themed Toolbar Dropdowns: The mode, model, and config selectors in the input toolbar were rebuilt as theme-aware menus instead of native dropdowns, so they match Obsidian's look in any theme. (#252)
- 📌 Context Note Badge: The active note badge is now always visible and stays in sync with the Auto-mention setting, so you can always see what context will be attached to your message. (#253)
- 🔑 API Keys in WSL Mode: The API key field now works in WSL mode — your key is forwarded into WSL automatically, so you no longer need to add it to
~/.profile. (#312) - 🍎 Sturdier Command Auto-Detect on macOS: Auto-detect now falls back to known install locations (e.g. Homebrew) when the shell PATH lookup comes up empty. (#302)
- 📦 ACP SDK 0.28.1: Updated the Agent Client Protocol SDK from 0.14.1 to 0.28.1. (#336)
🐛 Fixes:
- 🐧 WSL Agent & Terminal Launch: Fixed agents failing to start in WSL mode on some distributions (e.g. RHEL8) — exiting before connecting — and commands or paths containing spaces breaking. Agent startup and terminal commands now launch more robustly. (#312, #304)
- 📜 Scroll Position on Tab Switch: Fixed a chat's scroll position jumping upward when switching to another tab and back. Each tab now keeps its place. (#321)
- 📝 Trailing Reply Not Saved: Fixed the final part of an agent's reply sometimes not being saved, so it could go missing after reopening the session. (#320)
- 🔐 Stuck Permission Buttons: Fixed permission buttons remaining on screen after canceling a response. (#326)
- 📐 Wide Math Equations: Fixed wide display math being clipped instead of scrolling horizontally. (#322)
- ⌨ Slash Commands vs Auto-Mention: Fixed auto-mention context corrupting slash command detection — commands like
/compactnow work reliably even with a note open. (#255, #256) - 🔄 Saved Mode Restore Race: Fixed the mode/model selectors briefly showing the agent's defaults after starting a new session — a message sent in that window could run in the wrong mode. Saved selections are now restored before the session becomes ready. (#281)
- 🕑 Session History Ordering: Fixed sessions not moving to the top of the history list after new activity. (#257)
- ⚙ Settings Propagation: Fixed changes made in the settings tab not applying to already-open chat views. (#254)
- 🔐 Auto-Allow Toggle: Fixed the "Auto-allow permissions" setting not taking effect on already-running agents until restart. (#248)
- 🛠 Debug Mode Toggle: Fixed the Debug mode setting requiring a plugin reload to take effect. (#247)
- 📎 Attachment Remove Button: Fixed the attachment remove button losing its icon when the attachment list changed. (#246)
- 🔌 Plugin Reload Race: Fixed an "Attempting to register an existing view type" error when the plugin is reloaded or updated rapidly. (#244)
⚠️ Breaking Changes:
- Obsidian 1.11.4 or later is now required (for the Keychain-based secret storage).
- API key storage location changed: keys move from the plugin's
data.jsonto Obsidian's Keychain. Migration is automatic — no action needed, but plain-text keys will no longer appear indata.json.
🚀 Upgrade:
Update from v0.10.6 — requires Obsidian 1.11.4 or later. API keys are migrated to Obsidian's Keychain automatically on first load. Markdown prompt injection is enabled by default; you can disable it under Settings → Prompt injection.
👋 New Contributors
- @hajimiHenry made their first contribution in #218
- @betamod made their first contribution in #219
- @Zbrooklyn made their first contribution in #252
- @mimoralea made their first contribution in #304
- @haydenfd made their first contribution in #317
Thank you for your continued support! Your feedback helps make this plugin better for everyone. 🙏