What's Changed
- fix: remove redundant Node.js error.message from bang-bash output
- feat: add /fork command to fork entire conversation (#232)
- Add .codex to gitignore
- feat: add /resume command with session picker
- fix: normalize argument hint brackets across all sources
- fix: remove extra bracket wrapping on argument hints in slash command dropdown
- docs: mark !command support as completed in roadmap
- Update .gitignore to ignore
.claude/ - 1.3.58
- feat: add ! prefix for bash command execution (#228)
- feat: add fork conversation support (#226)
- feat: add note to rewind confirmation that manual/bash edits are unaffected
- feat: populate input with rewound message content after rewind
- 1.3.57
- fix: unify toolbar button styles to faint/normal color pattern
- feat: implement SDK-native rewind with file checkpointing
- fix: simplify thinking.css padding to match subagent/toolcalls pattern
- fix: add RTL and BiDi text support (#218)
- fix: use fake timers in MessageRenderer copy button tests to prevent worker leak
- 1.3.56
- fix: make Shift+Tab plan mode toggle work from anywhere in sidebar
- feat: implement plan mode with EnterPlanMode and ExitPlanMode tools (#222)
- Replace ApprovalModal with inline approval UI (#216)
- fix: prevent plugin crash when loading skills/commands/agents fails (#215)
- feat: implement AskUserQuestion tool support (#214)
- fix: filter "(no content)" during streaming and preserve slash commands on reload
- docs: update README
- docs: add SDK exploration guideline to CLAUDE.md
- feat: update context gauge warning message (#210)
- 1.3.55
- feat: enable /compact command with UI boundary indicator (#207)
- feat: add subagents settings panel with vault CRUD and type safety
- test: improve src/features/ coverage with branch coverage (#205)
- refactor: simplify src/core/ by removing dead code and reducing duplication
- refactor(tests): simplify test files with shared setup, proper typing, and less duplication
- test: expand src/core/ test coverage for storage paths (#204)
- chroe: update gitignore
- chore: add
.claude/to version control - test: expand src/core/ test coverage to 81.1% (#203)
- test: add comprehensive unit tests for chat features (#202)
- feat: add unit tests for SelectableDropdown, mention types, and InstructionConfirmModal, and enhance mockElement with a focus method.
- test: improve test coverage for utility functions (#201)
- fix: skip copy when OBSIDIAN_VAULT path doesn't exist (#199)
- refactor: remove redundant plugin scope badges
- 1.3.54
- refactor: redesign hotkey settings as compact 3-column grid
- refactor: simplify plugin discovery using settings.json (#198)
- feat: show ready state indicator on model selector (#197)
- 1.3.53
- fix: hide disable-user-invocation setting for non-skill commands
- refactor: consolidate MCP by removing McpService wrapper
- refactor: remove dead plugin command loading code
- feat: abort dismisses approval modal and show agentID in approval UI
- ci: add potential duplicate issue detection workflow
- 1.3.52
- docs: update CLAUDE.md files with missing modules and fix stale references
- refactor: add skill storage and SDK agent support
- refactor: replace ApprovalManager with SDK permission flow (#190)
- fix: add missing i18n translations for hotkey settings
- feat: add option to open chat panel in main editor area (#193)
- refactor: replace custom MCP protocol with @modelcontextprotocol/sdk (#189)
- refactor: let CLI auto-discover plugins instead of passing via SDK (#188)
- refactor: extract InlineEditService methods to pure functions and DRY up test setup
- docs: replace vague TDD instruction with actionable red-green-refactor workflow
- Update README.md
- feat: add Chrome extension toggle setting (#185)
- refactor: unify subagent management into SubagentManager (#184)
- chore: remove verbose comments across codebase
- docs: update CLAUDE.md
- 1.3.50
- refactor: replace custom diff system with SDK-native toolUseResult (#182)
- docs: refactor CLAUDE.md into modular subdirectory structure
- chore: bump version to 1.3.49
- feat: SDK slash commands + refactor prompt context order (#181)
- test: use non-JS paths in CLI integration tests
- fix: add early detection for missing Node.js when CLI requires it
- chore: sync package.json keywords with GitHub topics
- fix: improve scroll-to-bottom button visibility mechanism (#180)
- docs: Update Claude Code CLI installation recommendation in README.
- 1.3.47
- fix: resolve Node.js path for GUI app spawn issues (#175)
- fix: add copy button to text blocks after streaming completes (#178)
- ci: upgrade to Node 22 for --localstorage-file support
- fix: update SDKNonResultMessage.output type for SDK 0.2.17
- ci: add lint, typecheck, test checks and update stale policy
- chore: update claude-agent-sdk to 0.2.17
- refactor: remove unused validateBlocklistPattern and isPathInAllowedContextPaths
- refactor: remove dead code identified via LSP analysis
- update README
- 1.3.46
- fix: Hover Editor compatibility - ensure containerEl exists before load
- fix: skip postinstall env setup in CI environments
- 1.3.45
- refactor: improve dropdown UX and fix displayContentMap matching
- docs: update for recent features and add dev setup automation
- 1.3.44
- feat: include userName in system prompt for personalized collaboration (#158)
- feat: add auto-scroll toggle setting (#157)
- docs: add export prefix hint to main settings description
- feat: support shell export prefix in env var parsing
- docs: document recent features (tab bar position, custom context limits, auto-hide panels)
- chore: bump version to 1.3.43
- refactor: simplify code and improve i18n coverage
- feat: add configurable tab bar position setting (#154)
- feat: custom context window limits with improved UI (#153)
- fix: improve context meter display and env var input behavior
- docs: update README
- feat: auto-hide status panels when all tasks complete (#150)
- 1.3.42
- fix: filter out skill prompt injection messages from conversation history
- fix: accurate context usage by extracting from assistant messages
- fix: disable statusline-setup subagent in Obsidian context
- feat: store plugin enabled state in CC settings for CLI compatibility
- feat: add custom subagent support with @-mention (#149)
- feat: add /add-dir slash command for external context directories (#146)
- 1.3.41
- fix: match SDK path encoding for vault paths with Unicode/special chars (#145)
- fix: preserve slash command display content after reload
- fix: improve scroll-to-bottom button hover visibility and border
- 1.3.40
- feat(mcp): add auto-detection for streamable HTTP response format (#141)
- fix: use CSS variables for scroll-to-bottom button colors (#140)
- fix: hide duration footer for interrupted responses
- 1.3.39
- refactor: remove binary content check and update duration format
- refactor: unify tool names and icons using centralized constants
- fix: update system prompt
- 1.3.38
- refactor: reorder status indicators and hide tick on expand
- refactor: simplify subagent status handling code
- refactor: simplify async subagent UX with expandable inline and summary panel (#133)
- Simplify auto title generation to use only user message (#132)
- refactor: unify hierarchy styling and enhance TodoWrite UX (#131)
- refactor: simplify response timer code with helper method
- feat: add response timer with flavor text display (#129)
- feat: add StatusPanel for async subagents and improve UX (#126)
- docs: update Docs and gitignore
- 1.3.37
- fix: preserve chat history across session rebuilds on resume failure (#122)
- Reset auto-scroll on conversation reset (#123)
- refactor: unify preWarm and restartPersistentQuery into ensureReady API (#121)
- 1.3.36
- feat: add scroll-to-bottom button for messages area (#118)
- fix: ensure session ID is properly set during preWarm for session resume
- refactor: remove spinners from tool header status indicators
- refactor: simplify StreamController API and extract shared todo utilities
- refactor: buffer tool rendering until input complete for non-streaming style
- refactor: render TodoWrite inline with panel styling, fix panel position
- fix: delay Write/Edit block rendering until file_path is available
- fix: slash commands with no metadata showing frontmatter in edit panel
- fix: prevent TodoWrite from rendering inline, update todo panel styling
- fix: prevent scrollbar from appearing in Write/Edit block during streaming
- feat: add easter egg to greeting message pool (#116)
- fix: add debounce mechanism to smart auto scroll feature
- fix: hide rebuilt context messages from rendering
- feat: smart auto-scroll during streaming
- fix: thinking indicator showing during text streaming and messages squeezed after interrupt
- fix: hide thinking indicator when text content starts streaming
- fix: render stored interrupt messages with interrupt styling
- 1.3.35
- fix: add settingSources to TitleGenerationService and add unit tests (#114)
- fix: add settingSources to inline edit and instruction refine services (#113)
- fix: unify i18n locale files with consistent show1MModel descriptions (#112)
- style: reduce new tab icon enlarge ratio from 1.1x to 1.05x
- style: simplify code block styling with transparent background
- fix: improve SDK session loading with message merging and diff data persistence
- refactor: add function overloads and validation to resolveModelWithBetas
- Add 1M context model support and SDK external context paths (#107)
- refactor: only wrap query in XML tags when context is present
- refactor: simplify SDK vault path encoding after Windows verification
- feat: delete SDK session files when conversation is deleted
- fix: support multiple vault path encodings for Windows compatibility
- fix: handle Windows backslashes in SDK vault path encoding
- docs: update storage documentation for SDK-native session support
- docs: add BRAT installation instructions for easier plugin updates
- feat: implement SDK-native session storage support
- docs: add missing commands/ and i18n/ to architecture documentation
- 1.3.34
- refactor: replace console messages with Obsidian notifications
- refactor: remove deprecated platform-based CLI paths (#104)
- fix: enable dynamic permission mode switching without restart (#102)
- docs: update README
- 1.3.33
- chore: use PathAccessType instead of string for type safety
- fix: unify path access control to resolve issue #99 (#100)
- 1.3.32
- refactor: simplify PR #96 multi-tab code
- docs: add multi-tab documentation and address PR #96 follow-up
- feat: multi-tab support with improved conversation management (#96)
- Auto-expanding input box for chat interface (#97)
- 1.3.31
- fix: add multiline YAML block scalar support to parseSlashCommandContent (#94)
- style: limit MCP tool descriptions to 3 lines with ellipsis
- style: restore message bubble padding and unify text color
- style: adjust slash command dropdown font sizes
- 1.3.30
- style: improve slash command dropdown display
- chore: update claude-agent-sdk to 0.2.5
- fix: session mismatch recovery and history reconstruction improvements (#89)
- chroe: remove unused file
- 1.3.29
- fix: add isComposing checks for IME keyboard support (#86)
- fix: add missing isComposing checks for IME support
- docs: update README
- fix: Remove redundant catch in settings save
- 1.3.28
- feat: add Claude Code plugin support
- fix: use full vault-relative path for @-mentioned files (#83)
- fix: use full vault path for @-mentioned files (#81)
- 1.3.27
- fix: return Map references instead of copies in ChatState getters
- fix: preserve markdown formatting in copy button (#74)
- 1.3.26
- ci: add stale issue workflow to close inactive issues after 7 days
- docs: update README
- refactor: reorganize modules by dependency boundaries (#73)
- refactor: reorganize input area layout with context row wrapper
- feat: add copy button to assistant text blocks (#71)
- refactor: replace
as anycasts with typed alternatives - test: improve unit test coverage for security and storage modules (#68)
- docs: update README
- fix: correct grammar in welcome greeting text
- 1.3.25
- fix: add overflow hidden to collapsible headers to prevent scrollbars
- refactor: remove console logging statements from source code
- feat: auto-append slash command args and require / at position 0 (#64)
- feat: render image embeds in chat UI (#62)
- test: add comprehensive unit tests to improve coverage
- fix: resolve bugs, improve error handling, and remove dead code
- 1.3.24
- fix(i18n): translate hardcoded CLI path descriptions
- chore: remove dead code from removed permission settings UI
- feat: Add multilingual display to the settings page (#52)
- refactor: Remove Plan Mode and AskUserQuestion tool support (#57)
- feat(external-context): add persistent external context paths
- 1.3.23
- feat(storage): refactor storage layer, split settings & improve security
- feat: Add built-in /clear and /new slash commands
- feat: Implement persistent async iterable query approach for reduced latency
- docs: update README, Plan Mode will be refactored shortly.
- docs: update README.
- 1.3.22
- feat: Add platform-specific Claude CLI path configuration
- 1.3.21 - Temporarily hide context window gauge
- feat: Refactor context path handling to use external context paths with explicit access control.
- fix: context path feature's path and system prompt bugs
- 1.3.20
- fix: remove image path auto-detection from chat input (#37)
- feat: simplify file link handling by passing full link targets to
openLinkTextand addingextractLinkTargetutility with tests. - refactor: extract shared wikilink helpers in fileLink.ts
- feat: make wikilinks clickable to open files in Obsidian (#29)
- docs: update setting section with refine instructions
- docs: Clarify Claude CLI path configuration with platform-specific instructions in the README and settings description.
- docs: update instructions
- 1.3.19
- feat: Add setting to control loading of user Claude settings.json for agent configuration.
- docs: enhance README with Claude CLI troubleshooting.
- feat: Centralize Claude CLI path resolution and enhance Node executable detection with support for additional version managers.
- 1.3.18
- feat: enhance Claude CLI path resolution to support custom PATH environment variables and better detect Node.js environments.
- 1.3.17
- feat: dynamically enhance PATH with Node.js directory when executing JS-based CLI tools
- feat: persist MCP server selections per-conversation and fix dropdown toggle
- 1.3.16
- feat: update MCP icons
- chore: update package dependencies
- feat: add ability to disable individual MCP tools (#27)
- fix: centralize PATH enhancement for GUI apps
- feat: append MCP suffix to @mentions in API requests only (#26)
- 1.3.15
- refactor: simplify file context to current note only
- docs: update instructions
- docs: minor update
- 1.3.14
- fix: add npm global bin paths to Claude CLI detection
- refactor: remove showToolUse and toolCallExpandedByDefault settings
- refactor: replace chevron with list icon in todo panel header
- Move todo list to bottom panel
- test: add Windows separator normalization test suite
- 1.3.13
- fix: use consistent forward slash separator in path validation on Windows
- Remove deprecated compatibility exports
- refactor: relocate
SlashCommandManagertocore/commandsandformatSlashCommandWarningstoutils/slashCommand - docs: minor UI tweak
- 1.3.12
- Add @-mention support to inline edit (#18)
- 1.3.11
- Fix instruction mode to only activate on # keystroke in empty input
- Update CLAUDE.md to reflect file-context refactoring and session-only state
- Make context paths session-only and ensure MCP selector is single source of truth
- Refactor file context manager (#17)
- 1.3.10
- Improve Windows path handling and image parsing
- 1.3.9
- feat: Switch MCP dropdown interaction from click-to-toggle to hover-to-show.
- 1.3.8
- feat: improve settings page organization and hotkey display
- Fix Windows Claude CLI detection with better validation (#15)
- refactor: extract shared collapsible utility from renderers
- feat: make all tool renderers collapsed by default
- feat: add conductor.json
- 1.3.7
- Fix vim navigation mapping persistence (#12)
- Add vim-style keyboard navigation settings (#11)
- refactor: Deferred plan mode activation and code cleanup
- feat: Add Ultra (32k token) thinking budget option (#10)
- style: Use monospace font for tool headers and result text (#9)
- fix: plan mode UI fixes and Escape key behavior matching Claude Code
- feat: Auto-send revision feedback as a hidden message and prevent submitting empty revision feedback.
- feat: reuse existing empty conversations and refine system prompt wording
- style: Hide scrollbars for edit block, content, and diff elements.
- 1.3.6
- feat: expand AI identity, core principles, and detailed tool usage guidelines across main agent, title generation, inline edit, and instruction refine prompts.
- feat: enhance system prompt with detailed time context and WebSearch usage guidelines
- 1.3.5
- refactor: Remove unnecessary session reset on model switch
- fix: Skip context meter updates when subagents run to prevent inflated usage display
- Add claude GitHub actions 1767121274535 (#8)
- 1.3.4
- feat: Enhance @-mention dropdown with explicit
@folder/filtering for context files and update related documentation and UI. - feat: Add context path @-mention support with folder filter
- feat: Hide disabled MCP servers from dropdown menu
- docs: add instruction to archive generated docs before commit
- feat: Add toggle to enable/disable auto title generation
Full Changelog: 1.3.3...1.3.59