While DataMind Oda works, the Activity panel gathers everything running beside the chat, everything waiting on you and everything that has finished. Open it while a task runs to watch progress, deal with what it needs, and tidy the list when the work ends.
The side panel's Activity tab. In the desktop app this tab is pinned in the panel by default; The side panel covers pinned tabs, floating and collapsing.
The Activity pill at the top of the chat, which shows what is running, for example Activity: 1 running: press it and the panel opens for this chat. The pill steps aside while the panel already shows Activity for this chat.
When another surface opens the panel for a particular item (the steps chip, or a goal's pill), Activity scrolls to it and flashes it briefly.
Ctrl+Alt+B: shows the panel and moves the focus into it; pressed again while the panel is showing Activity, it puts the panel away.
In VS Code, and where the panel floats over the chat, the pill opens the same view in a compact form. Press the pill again, press Escape, or press outside it to close it, and opening a row's work closes the compact form too.
Read the panel from top to bottom
The top carries a small mark that animates while work runs, the Activity label, and this chat's counts, such as 1 needs you · 4 running · 2 to review. With nothing to report, it reads All clear.
Stop all appears once at least two rows can be stopped. One press stops every running background row, and it never stops the chat's current turn; for the turn, use Stop in the message box (Stopping Oda and queued messages).
The bands run in a fixed order: Needs you, the cards for this chat, Running, Scheduled · across Oda and Finished. A band header stays in place while you scroll through its rows.
Every band starts open; fold a band from its header and the panel remembers your folds in this browser.
Work that waits for you
Needs you collects the work that cannot go on without you:
Runs waiting on an approval, an answer to a question or a plan review, and failed runs you have not looked at yet.
The band sits at the top; its rows are lifted above the rest.
Open or expand a run to deal with what it needs, and it stops waiting. A failed run returns to the band if it fails again later.
Between Needs you and Running, cards carry the chat's active work:
The goal card appears while the chat has a goal. Its state tag reads Working, Paused, On hold or Blocked, next to the time Oda has worked on the goal. While the goal works, the card shows the plan from the to-do list, such as Plan: 6 of 9 done, what Oda is doing now, such as Now: waiting on 3 agents · 12m, and a line such as 1,840 actions · last activity just now. After 20 quiet minutes outside any wait or tool, it turns to the warning colour and reads, for example, No activity for 25m.
Manage the goal from the card with Pause or Resume, Edit and Clear. A long objective sits behind Show more. A stopped goal names its reason, such as Paused: lost connection or 72h time limit reached. A met goal leaves a final card, Goal met · 9h 12m · 1,840 actions, until you choose Dismiss or start a new goal. Goals covers the details.
The STEPS card shows the chat's checklist while Oda works through one, up to seven steps before Show all. Activity at a glance covers the card and the steps chip.
Work that is running
Running lists the live work beside this chat: agents and teammates, workflows and Ralph loops, and background processes, gathered under a Background jobs list.
Work that belongs to a group, such as agents inside a workflow or a Ralph loop, nests under the run that started it and is not listed twice.
Rows are ordered by kind and then by start time. Activity rows and actions takes a single row apart.
Scheduled · across Oda reports the runs scheduled to happen across Oda rather than inside one chat.
When the next one is due, the band shows a single Next: line with its title and time, for example Next: Weekly KPI pack · Mon 09:00.
These runs belong to no single chat, so they never add to a chat's counts, and Stop all leaves them out.
Finished work
Finished gathers the work that has ended, newest first. Unfold the band to reach its actions.
Clear hides every finished row for you, and the choice sticks across reloads and restarts. Cleared {count} appears with Undo for eight seconds, and Undo restores the list.
A cleared row comes back only when the same work runs again and finishes later; a clearance covers the rows that had already finished.
The band lists the newest rows and pages the rest: Show all ({count}) extends the list up to 200, and past that the band notes Showing the newest 200.
Follow subagents and workflow runs
Oda can hand part of a task to a helper agent, called a subagent, and run multi-step work as a workflow. How Oda delegates the work is on Delegating work to subagents.
The Session hierarchy bar above the chat has one crumb per related session, each named Switch subagent: <label>; press one to switch to that subagent.
The Subagent sessions tree lists the chat's subagents, each with its status, and unfolds what each subagent started.
To open a subagent's conversation, press its row in the tree or in the Activity panel: it opens beside the current chat. Hold Ctrl (or Cmd on a Mac) as you press to open it in the main view instead. Opening a saved conversation only shows it; the subagent starts again only when a new message reaches it.
Settled subagents gather in Finished, where each row reads Open with the subagent's label and how it ended: Done, Failed or Stopped. Press one to reopen that conversation.
In a subagent's conversation:
A follow-up steers the subagent while it works, or starts its next turn when it is not working. Waiting messages run oldest first. The rules are on Continuable subagents: follow-ups and control.
A one-shot task's conversation is for reading only: One-shot tasks do not accept follow-ups; review the full execution record here.
When the chat that started the subagent is offline, sending is unavailable until you reopen that chat: The parent session is offline; reopen it to continue sending messages.
Stop generating stops only that subagent's current turn; the chat that started it, and anything else running, keeps going. Waiting messages stay parked, and the next message you send takes them up, oldest first. Stopping still works while the parent chat is offline.
A workflow that runs in your chat leaves one record beside the step that started it, showing identities and statuses only:
While the run goes, its levels stay open: the run, each phase, and the members under a phase. A phase row carries a member count, such as 2 members, and a status tail, such as Running 2; a phase that never got members says No members started.
A member row is labelled Open with the member's brief; press it while the run goes to look into that member's conversation.
The status words are Running, Completed, Failed, Cancelled and Interrupted. Open in Activity jumps to the run in this panel.
When the run ends, the record folds to a settled summary. A Completed run stays folded; one that failed, was cancelled or was interrupted keeps its levels open. Reopening the chat later rebuilds the same record from its history.
Questions, answered
How do I open the Activity panel?
Press the Activity pill at the top of the chat, press Ctrl+Alt+B, or select the Activity tab in the side panel. In the desktop app the tab is pinned there by default. In VS Code, and where the panel floats over the chat, the pill opens a compact form of the same view; press the pill again, press Escape, or press outside it to close it.
What appears under Needs you?
Runs that cannot go on without you: work waiting on an approval, an answer or a plan review, and failed runs you have not looked at yet. The band sits at the top of the panel. Open or expand a run to deal with what it needs, and it stops waiting; a failed run returns if it fails again later.
How do I stop all the running work at once?
Use Stop all at the top of the panel. It appears once at least two rows can be stopped, and one press stops every running background row. It never stops the chat's current turn; for that, press Stop in the message box.
How do I open a subagent's conversation?
Press its row in the Subagent sessions tree or in the Activity panel: it opens beside the current chat. Hold Ctrl (or Cmd on a Mac) as you press to open it in the main view instead. Opening it does not start the subagent again.
How do I stop a subagent without stopping my own task?
Press Stop generating in the subagent's conversation. It stops only that subagent's current turn; the chat that started it, and anything else running, keeps going. Waiting messages stay parked for the next message you send.
How many finished rows does the panel show?
The band lists the newest 20 rows, and Show all extends the list up to 200. With more than 200, the band notes Showing the newest 200. The compact form of the panel starts with five rows.
How do I clear the finished list?
Unfold Finished and press Clear. Every finished row is hidden for you, and the choice sticks across reloads and restarts. Cleared {count} appears with Undo, which restores the list. Rows you cleared stay hidden; only work that runs again and finishes later is listed anew.
How long can I undo a clearance?
Undo stays for eight seconds after you clear. Press it in that window and the list comes back; after that the clearance sticks.
Why did a finished run come back after I cleared it?
A clearance covers the rows that had already finished when you cleared them. When the same work runs again and finishes later, it is newer than your clearance, so it returns to Finished.
Does the panel remember which bands I folded?
Yes. Every band starts open, and the panel remembers your folds in this browser.
What is Scheduled · across Oda?
The band reports the runs that are scheduled to happen across Oda rather than inside one chat. When the next one is due, the band shows a single Next: line with its title and time, for example Next: Weekly KPI pack · Mon 09:00. These runs never add to a chat's counts.
What does the panel show when nothing is running?
Nothing running. with the line Agents, workflows and background commands show up here while they work. The empty state gives way as soon as a card or a row appears.