Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Claude FolderNew to Visual Studio Code? Get it now.
Claude Folder

Claude Folder

opdify

|
2 installs
| (0) | Free
Open native Claude Code tabs for multiple project folders in one VS Code window.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Claude Folder

Claude Folder is an experimental VS Code extension for managing native Anthropic Claude Code chats across multiple project folders in one VS Code window.

It keeps Claude's own editor UI. The extension supplies the selected project's real working directory while a native Claude tab is created or restored, then uses Claude's official UserPromptSubmit Hook to bind that tab to its real session_id.

MVP features

  • Add arbitrary local project folders without changing the current VS Code workspace.
  • Create multiple native Claude Code editor tabs per project.
  • Start each chat with the selected project as its working directory.
  • Keep multiple initially blank chats distinct while the extension host is running.
  • Bind a blank managed chat to Claude's real session_id on its first submitted prompt.
  • Focus an open managed tab or restore a bound Claude session after the tab is closed.
  • Persist projects, chat labels, and bound session IDs per VS Code workspace.
  • Preserve existing .claude/settings.local.json content while adding or removing the manager-owned Hook.

Requirements

  • macOS (the current MVP test target)
  • VS Code 1.120 or newer
  • Anthropic's official Claude Code extension
  • A usable Node.js executable for the Hook helper

Install from source

npm install
npm run check
npm run package
code --install-extension claude-folder-0.1.1.vsix

After installing, open Claude Folder in the Activity Bar, choose Add Folder, and use the inline + action on a project. The selected folder does not need to belong to the current VS Code workspace.

How it works

  1. The extension calls Anthropic's registered new-chat or open-session command.
  2. During that one serialized call, it temporarily redirects the workspace fs.realpathSync result to the selected project and restores the original function in finally.
  3. It locates the newly active native Claude webview tab and associates it with a local managed-chat ID.
  4. A manager-owned UserPromptSubmit Hook records the real Claude session_id, cwd, and a short first-line title preview.
  5. Future clicks focus the open native tab or call Anthropic's open-session command with that session_id and the same cwd bridge.

The extension never patches files inside Anthropic's installed extension and does not implement a replacement chat UI. See Architecture for the detailed lifecycle.

Compatibility and validation

The cwd bridge depends on observable behavior in Anthropic's extension rather than a documented cwd parameter, so every Claude Code update should be treated as a compatibility boundary. The extension fails closed if the expected command, new native tab, or cwd interception is missing.

Validated locally on macOS arm64:

  • VS Code 1.121.0
  • Claude Code 2.1.252: two-project creation, real cwd isolation, Hook/session binding, and VS Code reload persistence
  • Claude Code 2.1.251: bound-session close and reopen with the original project cwd

See Validation report for the exact automated and Extension Host checks.

Known limitations

  • Anthropic does not currently expose a supported public command argument for a new chat's cwd. The short-lived fs.realpathSync bridge is intentionally isolated and guarded, but it can break after a Claude Code update.
  • Claude assigns the durable session_id only when the first prompt is submitted. An untouched blank tab can be focused while the current extension host is alive, but cannot be identified precisely after a VS Code restart; clicking its saved entry creates a replacement blank native tab.
  • The MVP targets local macOS folders. Windows, remote workspaces, WSL, containers, and multi-host synchronization are not yet supported or validated.
  • Project-specific model, proxy, environment, and permission profiles are intentionally outside the MVP.

Privacy and project changes

For each managed project, the extension adds one command Hook to .claude/settings.local.json. Existing comments, permissions, and Hooks are preserved. Removing the project from the manager removes only the manager-owned Hook; project files and Claude history are not deleted.

The Hook helper writes an event into VS Code global storage only while a managed Claude tab has a fresh extension heartbeat. The event contains the Claude session ID, project cwd, managed-chat ID, and at most the first 500 characters of the first non-empty prompt line. It is deleted after processing. Full prompts and assistant responses are neither retained nor proxied by this extension.

Development

npm install
npm run check

Press F5 in VS Code to launch an Extension Development Host. Logs are available through Claude Folder: Show Logs.

Status

This repository is an early MVP and is not affiliated with or endorsed by Anthropic.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft