[FEATURE] Add a Persistent Task List / Plan View to the VS Code Extension

Resolved 💬 3 comments Opened Oct 2, 2025 by coygeek Closed Jan 7, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

When using the Claude Code VS Code extension for complex, multi-step tasks, Claude often generates a plan or a "todo" list. This list currently appears as a standard message within the chat transcript.
As Claude executes the plan, it adds new messages (e.g., Glob, Bash, Update Todos diffs) to the chat. This causes the original plan to scroll up and out of view. To track progress or remember the next step, I constantly have to stop what I'm doing and scroll up through the chat history to find the plan. This breaks my focus, makes it difficult to monitor the agent's progress at a glance, and adds unnecessary friction to the workflow.
The core problem is the lack of a persistent, easily accessible view of the agent's current plan of action.

Proposed Solution

I propose implementing a dedicated, persistent UI panel for the task list/plan within the Claude Code extension view. This panel should be "sticky" and remain visible at all times, likely positioned directly above the user input field.

Ideal User Experience:

  1. When Claude generates a plan (e.g., via the TodoWrite tool), it populates this new persistent panel.
  2. As Claude works through the tasks, the panel should update in real-time:
  • Completed tasks are checked off or greyed out.
  • The currently active task could be highlighted.
  1. This panel remains fixed in place and does not scroll away with the main chat history.
  2. The user can always see the overall plan, what's been done, and what's next, without losing the context of the most recent tool outputs in the chat window.
  3. Ideally, this panel would be collapsible to save space when not needed.

This functionality would be very similar to the persistent task list feature found in the OpenAI Codex/Copilot VS Code extension (see "Additional Context" screenshot).

Alternative Solutions

  • Current Workaround: Manually scrolling up the chat history to re-read the plan. This is inefficient and disruptive.
  • Asking Claude to repeat the plan: I could ask "What's the plan again?" or use the /todos command, but this is also inefficient, consumes extra tokens, and clutters the conversation history.
  • Keeping plan.md open: I could ask Claude to write the plan to a file and keep that file open in a separate editor tab. However, this is a manual process and the file does not update in real-time with progress indicators (like checkmarks).

Priority

Critical - Blocking my work

Feature Category

CLI commands and flags

Use Case Example

  1. User Prompt: I ask Claude to perform a multi-step refactoring task: > I'll read the plan and execute the recommended next steps for enhancing the Wi-Fi shortcut.
  2. Claude's Plan: Claude analyzes the files and generates a plan, which appears in the new persistent task list panel above my input box:
  • [ ] Install and test python-shortcuts library for iOS 18 compatibility.
  • [ ] Decode the existing Wi-Fi.shortcut file to understand its structure.
  • [ ] Research and identify speed test API integration options (Ookla/fast.com).
  • [ ] Design enhanced shortcut with speed test, logging, and additional metrics.
  • [ ] Implement enhanced shortcut using python-shortcuts or Shortcuts app.
  • [ ] Test enhanced shortcut on iOS 18 device.
  1. Claude Executes: Claude starts the first task. The main chat window shows the Bash command pip3 install python-shortcuts. The persistent task list remains visible.
  2. Progress Update: Once the command succeeds, the first item in the persistent list gets a checkmark:
  • [x] Install and test python-shortcuts library for iOS 18 compatibility.
  • [ ] Decode the existing Wi-Fi.shortcut file to understand its structure.
  • ...and so on.
  1. User Interaction: As Claude continues to work, I can see its progress at a glance in the task list while simultaneously reviewing the tool outputs (diffs, command results) in the chat log below it. I can provide the next instruction with full awareness of the overall plan without ever needing to scroll.

Additional Context

The requested feature is implemented effectively in the OpenAI Codex extension, as shown in this screenshot. This provides a clear visual example of the desired user experience.

Screenshot 1: The proposed feature in the OpenAI Codex extension, showing a persistent task list above the input.

In contrast, here is the current behavior in the Claude Code extension, where the plan is simply a message in the scrollable history.

Screenshot 2: The current Claude Code extension, where the plan is part of the scrollable chat history.

Technical Consideration: The extension already receives structured todo list data through the TodoWrite tool. This feature would primarily involve changing the UI rendering to display this data in a persistent component instead of a standard chat message.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗