v0.2.41
v0.2.41 — Session Diff: freeze-free on large repos, plus capture points
Release date: 2026-07-24
Previous version: v0.2.40
TL;DR
- The session Diff no longer freezes the app when you start a terminal in a large repository — the start-time baseline snapshot is now fast and non-blocking.
- New capture points: snapshot the working tree mid-session and page through "since this capture → now" views to follow a change over time.
- The Diff button is now hidden entirely on non-git projects instead of opening an empty "not a git repository" panel.
- The MCP server gained planner / schedule / session / wiki tools with clearer descriptions.
- Electron IME handling was reverted to stop app flicker and freezes.
Highlights
Session Diff no longer freezes on large repositories
Starting a session captures a working-tree baseline so the Diff view can show exactly what the session changed. On big repos that baseline used to re-hash the entire working tree and ran synchronously, blocking the whole server — the app could freeze for seconds. Now:
- The throwaway snapshot index is seeded by copying the repo's real index, so its per-file stat cache carries over and unchanged files are no longer re-hashed (git-status speed instead of full re-hash).
- The snapshot runs asynchronously, so it never blocks the event loop.
The diff result is identical to before — only the cost changed.
Also fixed: on repos with fsmonitor / untracked-cache enabled, newly created untracked files could be missed from the diff. The snapshot now ignores those cache extensions so new files always show up.
Mid-session Diff capture points
The Diff panel has a new capture button. Press it to snapshot the current working tree as a new page base. The default page still shows everything since the session started; each capture adds a page showing "since that capture → now", so you can track a change as it evolves. Capturing is on-demand (no background polling), and paging between saved snapshots is cheap.
Diff button hidden on non-git projects
On a project that isn't a git repository, the Diff button, its keyboard shortcut (Ctrl/Cmd+Shift+D), and the panel are no longer shown, instead of opening a panel that only says "not a git repository".
MCP server: planner, schedule, session, and wiki tools
The built-in MCP server now exposes planner, schedule, session, and wiki tools in addition to tasks, and tool descriptions were sharpened to disambiguate "task" from "plan"/"wiki".
Electron: IME flicker and freeze fix
The forced minimize/restore workaround for IME focus was reverted — it caused the app window to flicker and occasionally freeze. IME input is stable again.
Minor
- i18n: todos/planner labels reading just "작업" were clarified to "자동 작업".
Install / Update
npm i -g clitrigger@0.2.41Desktop app — pick the right asset:
- Windows (recommended):
CLITrigger-Setup-0.2.41.exe— installer with Start Menu shortcut, uninstaller, and auto-update. - Windows (portable):
CLITrigger-0.2.41.exe— run directly, no install; no shortcuts and no auto-update (grab new versions manually). - macOS:
.dmg/ Linux:.AppImage
Full commit list
- 10670d2 feat(sessions): git 저장소가 아니면 Diff 버튼 숨김
- 4de850a feat(sessions): mid-session Diff capture points with per-page base
- ab324b7 fix(sessions): ignore fsmonitor/untracked-cache in Diff snapshot add -A
- d7893d6 perf(sessions): seed Diff snapshot index from real git index to kill full re-hash
- 7700ad1 Merge branch 'main' of https://github.com/OSgoodYZ/CLITrigger
- feda2b5 fix(electron): revert IME 강제 minimize/restore — 앱 깜빡임·프리징 제거
- b390538 WIP(i18n): '작업' → '자동 작업'으로 todos/planner 레이블 명확화
- 3dda9c2 WIP(mcp): sharpen tool descriptions to disambiguate task vs plan/wiki
- e6824ae WIP(mcp): add planner, schedule, session, wiki tools to MCP server
Related docs
- Detailed changelog — per-date technical decision records
Full Changelog: v0.2.40...v0.2.41