[FEATURE] Local Preservation of Full Chat Logs in VSCode Claude UI Extension
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
It would be incredibly valuable for the VSCode UI extension to include support for maintaining the complete chat history of a session locally on the user's system. This storage should be independent of any data transmitted to Claude's servers for compaction or processing.
Current Pain Point:
Compaction often results in significant loss of context, requiring frequent manual reminders about key details—even ones I've partially forgotten myself. While I've experimented with standard workarounds like maintaining a well-documented .md file with instructions and guidelines, these still fall short. Subtleties get lost in the handoff, leading to inconsistent performance across sessions.
Proposed Solution
Proposed Solution:
Enable full, uncompacted chat logs to be stored and accessible locally. This would allow users to easily scroll back through the entire conversation, copy/paste specific instructions or context as needed, and maintain continuity without relying on server-side memory.
This simple addition would greatly enhance usability for long-running or complex projects.
Thank You for your consideration on this feature request.
Alternative Solutions
_No response_
Priority
Low - Nice to have
Feature Category
Other
Use Case Example
Real-World Example: Iterating on a Multi-Stage E-Commerce Feature in a React App
Imagine you're a solo developer (or small team lead) building an e-commerce dashboard in React using VSCode and the Claude extension. Your project involves integrating a new "dynamic pricing" feature that pulls from a backend API, handles user-specific discounts, and updates in real-time via WebSockets. This isn't a one-off task—it's an evolving beast with 5+ iterations over a week, touching authentication, state management (Redux), UI components, and error handling.
The Scenario Without Local Full Chat Logs:
- Day 1: Initial Brainstorming
You start a Claude chat session in the VSCode sidebar: "Help me architect a dynamic pricing module for my React e-commerce app. Key reqs: Fetch prices from /api/prices endpoint, apply user-tier discounts (gold/silver/bronze), and debounce updates to avoid API spam." Claude generates boilerplate code, suggests Redux slices, and you iterate on edge cases like "What if the API returns fractional cents—round up or down?" You refine: "Always round up for gold users to encourage upsells." The chat balloons to 50+ messages with code snippets, diagrams (via Mermaid), and your ad-hoc notes like "Remember: Discounts compound multiplicatively, not additively—e.g., 20% off base + 10% tier = 28% total off."
- Day 2-3: Implementation and Tweaks
You apply the code, test locally, and hit snags: WebSocket reconnections fail on network blips. Back to Claude: "Debug this WebSocket error in my pricing updater—logs show 'ECONNRESET'." You paste error traces, and Claude proposes a retry logic with exponential backoff. You add: "Integrate with existing auth middleware; use JWT from localStorage." More back-and-forth: 30 messages on auth flows, including a custom hook you co-write. Subtleties emerge, like "Only retry if the disconnect isn't user-initiated (e.g., page refresh)."
- Day 4: Compaction Kicks In
Session hits the token limit; Claude auto-compacts. Poof—gone are the details on multiplicative discounts, the exact retry params (e.g., max 3 attempts, 2^x delay), and your note about gold-user rounding. You start a "new" message: "Remind me of the pricing logic from earlier." But Claude's summary is vague: "Apply discounts based on tiers." You waste 20 minutes re-explaining, only half-remembering the compounding rule yourself. Your .md workaround (a "claude-instructions.md" with bullet points) helps somewhat, but it's static—missing the live context of why you chose multiplicative over additive (it was after A/B mock data showed better revenue sims).
- Day 5: Refactoring and Scaling
Now scale to mobile: "Adapt pricing for responsive design—hide decimal cents on small screens." Claude suggests CSS media queries, but forgets the auth tie-in, generating code that exposes prices without JWT checks. You correct it, but the chat's now a Frankenstein of repasted snippets. End result: Buggy deploy, frustrated debugging, and hours lost to context thrash.
How Local Full Chat Logs Would Save the Day:
With this feature, your entire uncompacted session (all 150+ messages) is preserved locally as a scrollable, searchable pane in the VSCode sidebar—maybe as a JSON export or Markdown thread you can pin per-project.
- Quick Recovery: On Day 4, instead of rehashing, you Ctrl+F for "multiplicative discounts" in the log, copy-paste the exact exchange (including your sim data rationale), and feed it back: "@claude paste this context block." Boom—instant continuity.
- Cross-Session Reuse: Day 5, scroll to the WebSocket retry thread, snag the code snippet verbatim, and say: "Extend this retry logic to mobile pricing updates." No more "lost in translation"—the full history acts like a personal wiki.
- Efficiency Gains: In a real sprint, this shaves 2-3 hours per day off context-rebuilding. For teams, it enables handoffs: "Hey, check session log #3 for the pricing auth flow before you touch billing."
Additional Context
Proposed Feature
Microsoft's GitHub Copilot in VSCode already supports managing chat sessions with a history sidebar view, including options to rename, delete, or export sessions. Imagine extending this to Claude: A dedicated "Full History" tab in the chat view, showing uncompacted threads as collapsible sections with timestamps, searchable via Ctrl+F, and export buttons for Markdown/JSON.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗