Skip to content

Releases: phiat/claude-esp

v0.4.4

24 Mar 12:56

Choose a tag to compare

What's New

  • Fix CJK/multibyte character wrapping — word-wrapping now uses display-width-aware splitting (go-runewidth) instead of byte offsets. CJK characters, emoji, and other wide characters wrap correctly without garbling.

感謝 @tznthou 的回報!Thanks for the detailed report on the Rust version — fix applied to both repos.

Install / Upgrade

go install github.com/phiat/claude-esp@latest

Full Changelog: v0.4.3...v0.4.4

v0.4.3

23 Mar 13:44

Choose a tag to compare

What's New

  • Fix crash on sessions with image content (#4) — screenshots pasted into Claude Code no longer crash the parser
    • Scanner buffer increased from 1MB to 10MB (grows on demand, starts at 64KB)
    • Parser gracefully skips malformed/truncated JSON lines instead of crashing
  • Tests added for image content blocks and truncated JSON

Thanks @kristian-pactum for reporting!

Install / Upgrade

go install github.com/phiat/claude-esp@latest

Full Changelog: v0.4.2...v0.4.3

v0.4.2

20 Mar 19:20

Choose a tag to compare

What's New

  • Text toggle (x) — show/hide assistant text responses, now visible by default
  • Solo mode (s) — isolate a session or agent in tree view; press again to un-solo
  • Tool names on output — output headers show the tool name (e.g., "Bash result (1.2s)")
  • Dedup fix — tool input and output with the same ID are both kept (previously one was dropped)
  • Rename "Auto" → "Scroll" in header to disambiguate from auto-discovery
  • Remove destructive session delete (x/d) — solo + space toggle covers filtering

Based on PR #2 by @rdmontgomery

Install / Upgrade

go install github.com/phiat/claude-esp@latest

v0.4.1

18 Mar 16:40

Choose a tag to compare

What's New

  • Fix: Agent type names now correctly appear in stream view (not just tree)
  • README: Updated features list with agent type labels, token tracking, tool duration

Install / Upgrade

go install github.com/phiat/claude-esp@latest

Full Changelog: v0.4.0...v0.4.1

v0.4.0

18 Mar 14:48

Choose a tag to compare

What's New

  • Agent type labels — Subagents now show their type (e.g., "Explore", "code-reviewer") instead of generic "Agent-abc1234" in both the tree and stream views. Reads .meta.json files created by Claude Code.
  • Tool execution duration — Tool output headers now show how long each tool took (e.g., "(1.2s)", "(45ms)") from toolUseResult.durationMs.
  • Token usage tracking — Cumulative input/output token counts displayed in the header bar (e.g., "12.3k in / 4.5k out"). Shows total session cost including history.

Install / Upgrade

go install github.com/phiat/claude-esp@latest

Or download pre-built binaries below.

What's Changed

  • Add agent type labels, tool duration, and token usage display by @phiat in #3

Full Changelog: v0.3.1...v0.4.0

v0.3.1

28 Feb 18:53

Choose a tag to compare

What's New

Graceful startup when Claude Code isn't running

Previously, claude-esp would crash if ~/.claude didn't exist or no sessions were found. Now it starts the TUI with an empty tree and auto-discovers sessions as they appear.

  • No crash on missing ~/.claude — shows "Waiting for Claude Code sessions..." and watches for the directory to be created
  • No crash with -s <unknown-id> — waits for the session to appear instead of bailing
  • Ancestor directory watching — when ~/.claude/projects doesn't exist yet, watches the closest existing parent directory and switches to full recursive watching when Claude Code starts

Full Changelog: v0.3.0...v0.3.1

Full Changelog: v0.3.0...v0.3.1

v0.3.0

28 Feb 18:11

Choose a tag to compare

What's New

Real-time filesystem notifications

Replaced polling with OS-native filesystem notifications via fsnotify:

  • inotify on Linux, kqueue/FSEvents on macOS — true real-time streaming with zero idle CPU
  • 50ms debounce coalesces burst writes for efficient processing
  • Automatic fallback to polling on filesystems that don't support notifications (NFS, some cross-FS WSL2 setups)
  • The -p flag now only applies in fallback polling mode

Details

  • Latency drops from 0-500ms (polling) to ~50ms (debounce window)
  • Zero CPU usage when idle (no more periodic file scans)
  • Scales to many sessions without additional overhead
  • 11 new tests covering fsnotify integration, debounce behavior, concurrency, and polling fallback
  • All existing functionality and keybindings unchanged

Full Changelog: v0.2.2...v0.3.0

v0.2.2

27 Feb 23:42

Choose a tag to compare

Full Changelog: v0.2.1...v0.2.2

v0.2.1

27 Feb 16:41

Choose a tag to compare

Bug Fix

  • Fix crash when parsing MCP server tool results (#2)

    MCP tools return content as an array of content blocks, while built-in tools use a plain string. The parser only handled strings, causing a JSON parse failure whenever any MCP server was invoked.

Thanks to @Tom-De-Santa-FOSS for reporting this issue (#1).

note: Does not affect rust version. (It uses serde_json::Value for the content field and already handles both String and Array variants.)

Full Changelog: v0.2.0...v0.2.1

v0.2.0

26 Feb 19:10

Choose a tag to compare

Full Changelog: v0.1.0...v0.2.0