Repository navigation
v0.8.0 — tool runs vs. real sessions
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 inagentctl ls, plus--tool/--interactivefilters. - Menu —
▸beside the name, a header count, andTto 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.