Skip to content

Project History under native windows install #2

@justSteve

Description

@justSteve

Nice start! I'm running under native windows 2.x. Everything came up for the CC scan, but the Claude Desktop only MCP Servers were populated. Project History is blank.

here's a first pass at the problem solving with CC:

supposedly this will work correctly when run from wsl. Can you find any details on how things changed between wsl and native windows installer?

I'll search for any documentation or code that explains the difference between WSL and native [snipped da tooling]

Now I understand the issue! Let me explain what's happening:
The Key Difference
When you run the script: On Native Windows:
platform.system() returns 'Windows'
Looks for Claude Desktop at: %APPDATA%\Claude\claude_desktop_config.json
This file only contains MCP configs, NO project history
From WSL:
platform.system() returns 'Linux'
Looks for:
Claude Code: ~/.claude.json (in WSL home directory)
Claude Desktop: ~/.config/Claude/claude_desktop_config.json (Linux path)
Why WSL "Works"
When running from WSL, you're likely detecting Claude Code installed in WSL, not Claude Desktop. Here's what's probably happening:

server.py lines 23-30

Claude Code config

claude_code_path = Path.home() / '.claude.json' # In WSL: /home/username/.claude.json
if claude_code_path.exists():
configs['code'] = {
'path': claude_code_path,
'name': 'Claude Code (CLI)',
'type': 'code' # ← This HAS projects!
}
The Reality
Claude Desktop config files NEVER contain project history on ANY platform. They only store:
mcpServers: MCP server configurations
That's it!
Claude Code config files (.claude.json) DO contain:
mcpServers: MCP server configurations
projects: Full conversation history
numStartups: Startup count
To verify this
Run this from WSL to see which configs it detects:
python3 -c "import platform; print('Platform:', platform.system()); from pathlib import Path; print('Claude Code:', (Path.home() / '.claude.json').exists()); print('Claude Desktop:', (Path.home() / '.config/Claude/claude_desktop_config.json').exists())"
If you want the script to detect Windows Claude Desktop from WSL, you'd need to access it via the Windows filesystem mount:

Add WSL-aware Windows detection

if platform.system() == 'Linux' and Path('/mnt/c').exists(): # Running in WSL
win_username = os.environ.get('USER') # or parse from /mnt/c/Users
claude_desktop_path = Path(f'/mnt/c/Users/{win_username}/AppData/Roaming/Claude/claude_desktop_config.json')
But again, that file won't have projects anyway - only MCP configs!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions