Skip to content

v0.8.0 — tool runs vs. real sessions

Choose a tag to compare

@roypadina roypadina released this 29 Aug 19:07
· 30 commits to main since this release

Tell tool runs apart from sessions you actually sat in

A claude -p run, an SDK call or an MCP client leaves a transcript that looks exactly like a real session, so the menu filled up with one-line runs nobody wants to resume.

Every session now carries a kind — interactive or tool — read from the transcript's entrypoint, so it is known for dead sessions too.

  • CLI — a ▸ column in agentctl ls, plus --tool / --interactive filters.
  • Menu — ▸ beside the name, a header count, and T to cycle everything → interactive only → tool runs only.
  • App — a terminal badge on the row (entrypoint in the tooltip) and All runs / Interactive only / Tool runs only in the list menu.

A real interactive session that a script drove (tmux send-keys into a live claude) still counts as interactive — because that is what it was. Only headless and SDK entry points are distinguishable.

Fixed: "cwd uncertain" on every dot-directory

Claude Code encodes the working directory by replacing the separators and every . with -, so .bo-worktrees and /bo/worktrees look identical on disk. The decoder only ever tried /, so every session under .worktrees, .claude-worktrees and friends was permanently flagged ! / ⚠ cwd uncertain and asked for confirmation on every resume.

It now walks the real filesystem instead of guessing, which is both exact and much faster than the old exponential search.