Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Coding Session TodosNew to Visual Studio Code? Get it now.
Coding Session Todos

Coding Session Todos

AbsLabs

|
14 installs
| (0) | Free
Live sidebar view of your Claude Code sessions — todos, state, and context usage — across all your open windows.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Coding Session Todos

A VS Code sidebar that mirrors the live TodoWrite task list from your active Claude Code sessions — so you can watch the plan unfold without keeping the terminal in focus.

It works entirely by tailing the transcript JSONL files Claude Code writes under ~/.claude/projects/. Nothing is sent anywhere; there are no runtime dependencies and no configuration required to get started.

Claude Code only, for now. Despite the agent-agnostic name, the extension currently reads Claude Code transcripts exclusively. Support for other coding agents may come later.

Coding Session Todos sidebar showing live Claude Code sessions — each with its todos, inferred state, and context usage — plus a 'Subagents · N running' group listing the subagents active inside a session

Features

  • Live todo list — the current TodoWrite snapshot for each active session, re-rendered as the transcript changes. The in-progress item is highlighted.
  • Running subagents — when a session spawns subagents (via the Agent/Task tool), they appear under a collapsible Subagents · N running group beneath the session, each with its task, a live activity line (agent type, last tool, turns, age), and its own todos on the rare occasion it has them. Rows clear as the subagents finish.
  • Every window, one place — sessions are read globally from ~/.claude/projects/, so a single panel shows every Claude Code session active across all your open VS Code windows and workspaces — not just this one — sorted most-recent-first, each with its own todos.
  • Session state at a glance — a spinner while Claude is working, a warning when a session looks like it's waiting on you (e.g. a permission prompt), and a check when it's idle.
  • Context usage — the percentage of the model's context window consumed, shown per session and in the status bar (matches Claude Code's /context).
  • Status-bar widget — a compact current/total · NN% readout for the session running in your current workspace, with a tooltip listing every active session.
Status-bar widget with its tooltip listing every active Claude session

Requirements

Claude Code installed and used at least once, so transcripts exist under ~/.claude/projects/. The extension reads those files read-only; it does not run or control Claude Code.

Installation

From the VS Code Marketplace: search for Coding Session Todos in the Extensions view, or install from the command line:

code --install-extension abslabs.coding-session-todos

Or build and install a local .vsix:

npm install
npm run package          # produces coding-session-todos-<version>.vsix
code --install-extension coding-session-todos-<version>.vsix

Settings

Setting Default Description
codingSessionTodos.activeSessionMinutes 300 How recently a session must have been touched (in minutes) to appear in the panel. Default 300 (5 hours). Min 5, max 1440 (1 day).

How it works

  • Lists every transcript under ~/.claude/projects/ whose modification time is within the active window, and reads only the trailing ~1 MB of each (transcripts routinely exceed 20 MB).
  • Scans that tail backward for the latest TodoWrite tool call and renders input.todos, plus the session's title, inferred state, and context usage.
  • Reads any subagents a session spawned from the <sessionId>/subagents/ sidecar transcripts Claude Code writes, and shows the ones still running.
  • The workspace folder is matched against the cwd recorded inside each transcript, not guessed from the folder name (Claude Code's encoding has shifted across versions).
  • Re-reads on file changes (debounced) and re-scans when sessions start, stop, or age out.

Privacy

Everything stays local. The extension only reads transcript files already on your machine and makes no network requests.

Development

npm install      # also wires up the pre-commit hook (typecheck + test)
npm run build    # compile to out/
npm test         # vitest

Press F5 in VS Code to launch an Extension Development Host with the extension loaded. See AGENTS.md for architecture notes.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft