Activity
Search every past agent and terminal session, restore any of them, and trace commits and issues back to the conversation that produced them.
The Activity panel is a searchable history of every agent and terminal session and workflow run in your project. It's also an audit trail: commits and issues link back to the exact conversation that produced them.
Browsing activity
Open Activity with Cmd/Ctrl+Shift+A. You'll see a chronological feed of past agent and
terminal panes alongside workflow runs, bucketed by day. (Viewed files don't appear here.)
Filter with the tabs — All, Agents, Terminals, Workflows — or search.
Click any entry to re-open that pane (as a peek pane) with its full history intact — handy when you closed a pane by accident or want to revisit how you solved something. Right-click an entry to Rename it or Move to trash (undoable).
Activity is per-project and spans all windows — panes opened in another window show up here, and the history persists across restarts.
Search
Search runs over the full text of past agent conversations and terminal output, not just titles. Matching turns appear as snippets under each entry; click one to jump straight to that point in the conversation. Results are ranked by how densely a conversation matches, so the thread you half-remember surfaces even when no single message contains all of your words.
Multi-word queries are forgiving by default: any word can match, and conversations matching
more of them rank higher. Word forms are bridged automatically — searching arguments also
finds messages that said argument or just arg.
Filters
Narrow a search by writing key:value tokens anywhere in the query, mixed freely with search
words — for example role:user since:2026-06-01 spinner:
| Token | Meaning |
|---|---|
role:user / role:assistant | Only your messages, or only agent replies |
agent:codex | Only conversations with one backend (claude, codex, ...) |
since:2026-06-01 | Only content at or after a time (YYYY-MM-DD or full RFC3339) |
until:2026-06-30 | Only content at or before a time |
pane:<pane-id> | Only one conversation |
Dates without a time cover the whole day, inclusive — since:2026-06-01 until:2026-06-01
searches exactly that day. after: and before: are synonyms for since: and until:, and
agent-type: and backend: for agent:.
Operators and quoted phrases
a | b— either phrasing. Each alternative is searched independently and the results merge, so you can try two wordings in one query:spinner | loading indicator.a & b— both required in the same message. Every word on each side of the&must appear:managed & instructionsonly matches messages containing both."exact phrase"— a quoted span is a single token: it must appear literally, exactly as written. Everything inside the quotes is literal — operators, filter tokens, and punctuation included — so"a | b"finds the texta | b, and"role:user"finds messages that mention the token instead of filtering by it.
| binds looser than &, so spinner | loading & indicator means "spinner" or
("loading" and "indicator"). There are no parentheses. An unterminated quote treats the
rest of the query as the phrase, so results narrow live while you're still typing it.
Literal text and colons
Unquoted matching works on words — runs of letters and digits — with punctuation acting
as separators, and | / & read as operators. Anything you need matched exactly, put in
quotes: that's the escape hatch for operators, punctuation, and phrases alike.
Colons outside quotes are only special for the filter keys listed above:
- Unknown keys stay literal —
useEffect:cleanup,foo:bar, and URLs are searched as their words, not treated as filters. - Unknown filter values stay literal too —
role:bananais searched as text rather than silently filtering nothing.
Result highlighting follows the same grammar: filter tokens and operators are never highlighted, quoted phrases highlight as one unit, and everything else highlights by word.
For agents
Agents spawned by hob can search this same history from the shell. hob search conversations
accepts the identical query grammar (plus flags like --any, --role, and --since), and
hob conversation show reads any past conversation back out of hob's database — even when the
backend's own transcript file no longer exists on disk. Ask an agent to "find that
conversation where we discussed X" and it can find it, read the surrounding context, and pick
the work back up.
Artifacts and provenance
Each session also carries the artifacts it produced — commits, issues, and plans, each linked back to the exact turn behind it. Click one to jump to that turn; commits open their diff, issues deep-link into the Issues panel. This is what makes Activity an audit trail, not just a history — for any commit or issue, you can trace back to the conversation that produced it.
Stats
Open the Stats panel with Cmd/Ctrl+Shift+U to see your development activity at a glance.
- Overview — issues fixed, commits, turns, and conversations, with a trend sparkline.
- Activity heatmap — a contribution-style calendar over Today / 7d / 30d / 365d / All.
- Conversations — per-backend and per-model usage, average turn time, and conversation depth (average turns and longest conversation).
- Latency — time to first token, split into warm (backend already running) and cold-start.
- Commits — lines added/removed and files changed.
- Streaks — current streak of active days and your personal best.