Skip to content

v0.2.59

Choose a tag to compare

@github-actions github-actions released this 08 Sep 09:27
· 50 commits to main since this release

v0.2.59 — Title-based agent state detection, per-tab settings sections

Release date: 2026-09-08
Previous version: v0.2.58

TL;DR

This release fixes the repeated "Session is waiting for input" notifications that fired while Claude Code was still thinking. Agent state detection now reads the terminal title that Claude Code sets (◐/◑ while a turn runs, ✳ when it is back at the prompt) — the same signal herdr uses — instead of guessing from how the spinner line is painted. A minutes-long thinking pause now stays working until the turn actually ends.

Also: the per-project tab visibility toggles moved out of the Automation settings card. Web, Docs, Planner, and Git each get their own section in the project settings tab bar, the same way SVN is configured.

Highlights

Agent state: the terminal title is now the primary signal

  • Claude Code updates the terminal title to ◐ <session> / ◑ <session> while a turn is running and to ✳ <session> when it returns to the prompt. CLITrigger now reads that OSC title from the PTY stream and treats it as the authority for working vs blocked (waiting for input). The rules match herdr's claude.toml (osc_title_working / osc_title_idle).
  • The one-second quiet timer — which flipped a session to blocked whenever no spinner frame was recognized for a second — is switched off as soon as a title has been seen. Long "thinking with xhigh effort" pauses, where Claude Code only repaints a colour-pulsing status line, no longer flap between working and blocked and no longer spam notifications.
  • Screen-based spinner heuristics stay as a fallback for PTYs that never emit a title, and to notice that a mid-turn dialog (AskUserQuestion, plan approval) has been answered. Dialog detection itself is unchanged and still wins over the title.
  • The startup title (✳ Claude Code) does not raise a notification; only a finished turn does.
  • Verified by replaying a real seven-minute session: one state transition per turn boundary, none during the thinking pause. Fallback rules also gained the "still thinking with xhigh effort" status frames.

Project settings: one section per hideable tab

  • The Web, Docs, Planner, and Git visibility checkboxes moved from the "Tab visibility" card under Automation settings into their own sections in the settings tab bar: Harness · Automation · Web · Docs · Planner · Git · SVN. Each section has a single "Show the … tab in this project" checkbox, on by default.
  • The Git section appears only for git repositories. Terminal and Automation tabs remain fixed; SVN keeps its existing section.
  • Storage is unchanged (projects.hidden_tabs), so existing settings carry over.

Install / Update

npm i -g clitrigger@0.2.59

Desktop app — pick the right asset:

  • Windows (recommended): CLITrigger-Setup-0.2.59.exe — installer with Start Menu shortcut, uninstaller, and auto-update.
  • Windows (portable): CLITrigger-0.2.59.exe — run directly, no install; no shortcuts and no auto-update (grab new versions manually).
  • macOS: .dmg / Linux: .AppImage

Full commit list

  • 1c1ff11 feat(session): 에이전트 상태 감지에 터미널 제목(OSC 0) 신호 도입 — Herdr claude.toml 방식
  • 3320cb4 fix(session): 장시간 사고 구간 "still thinking" 색 펄스 프레임을 working으로 인식
  • deeda54 refactor(project): 탭 표시 토글을 설정 상단 탭으로 분리 (웹·문서·플래너·Git 각각)

Related docs

Full Changelog: v0.2.58...v0.2.59