Skip to content

Live agent tasks

When a CLI agent runs in your Terminal pane, Loom mirrors its task list into the Tasks pane in real time.

Where the data comes from

Claude Code (and other compatible CLIs) write per-session task state to:

~/.claude/tasks/<session-id>/<task-id>.json

Each JSON file describes one task — id, title, status (pending, in_progress, complete), parent session, timestamps. Loom polls this directory every 2 seconds via LiveAgentTasksService and surfaces the active tasks grouped by session id.

What you see

In a Prompt workspace's Tasks pane, live agent tasks appear in their own section above the kanban columns:

  • Header: Live · <session-id-prefix> (e.g. Live · 33280421).
  • One row per task, with a status badge (•, ▶, ✓).
  • Click a task to expand and read its full description.

When the session finishes (or the session id rotates), the live block clears.

Multiple sessions

If you have several CLI agents running across multiple Terminal panes — or if Claude Code is also running outside Loom — the pane shows all live sessions, each with its own header. Use the workspace's Stale window (Settings → Tasks) to hide sessions that haven't been touched recently.

Stale window

Configurable in Settings → Tasks. Sessions whose most recent task update is older than the window are treated as dead and hidden:

Window Hides sessions older than
30 minutes 30 min
1 hour 1h (default)
4 hours 4h
12 hours 12h
24 hours 24h
Never (always shows everything)

The poll keeps running regardless of the window — it's purely a display filter.

Privacy

Loom only reads files under ~/.claude/tasks/. Nothing leaves your machine. The polling service uses standard FileManager calls and does not watch via FSEvents (which would require a separate privacy entitlement).