Найти в Дзене

Бес в мелочах! Или как VS Code теряет историю чатов Claude Code

Что произошло? Пользователь работал в VS Code с несколькими параллельными диалогами Claude Code в режиме панели чата. Проект был открыт как unnamed workspace — то есть просто папка, открытая в VS Code без явного файла конфигурации. В какой-то момент пользователь решил навести порядок и сохранил workspace с именем, создав файл alexeykrol-wp.code-workspace. После этого вся история чатов в панели Claude Code исчезла. Почему это произошло? VS Code идентифицирует каждый workspace уникальным хэшем, который вычисляется из пути к конфигурационному файлу. Unnamed multi-folder workspace хранит свой конфиг во временной директории (~/Library/Application Support/Code/Workspaces/<id>/workspace.json). Named workspace — уже в постоянном файле .code-workspace в директории проекта. Claude Code привязывает сессии к идентификатору проекта. Когда workspace сменил идентификатор, расширение перестало находить старые сессии — они остались "висеть" под старым, теперь несуществующим ключом. VS Code при этом

Бес в мелочах! Или как VS Code теряет историю чатов Claude Code

Что произошло?

Пользователь работал в VS Code с несколькими параллельными диалогами Claude Code в режиме панели чата. Проект был открыт как unnamed workspace — то есть просто папка, открытая в VS Code без явного файла конфигурации. В какой-то момент пользователь решил навести порядок и сохранил workspace с именем, создав файл alexeykrol-wp.code-workspace. После этого вся история чатов в панели Claude Code исчезла.

Почему это произошло?

VS Code идентифицирует каждый workspace уникальным хэшем, который вычисляется из пути к конфигурационному файлу. Unnamed multi-folder workspace хранит свой конфиг во временной директории (~/Library/Application Support/Code/Workspaces/<id>/workspace.json). Named workspace — уже в постоянном файле .code-workspace в директории проекта.

Claude Code привязывает сессии к идентификатору проекта. Когда workspace сменил идентификатор, расширение перестало находить старые сессии — они остались "висеть" под старым, теперь несуществующим ключом. VS Code при этом зачистил временные конфиги, и путь к старым сессиям был утрачен окончательно.

Формально данные хранятся в ~/.claude/projects/ как .jsonl файлы, и они никуда не делись физически. Но без правильного идентификатора workspace панель чата их просто не видит.

Что делать, чтобы этого избежать?

Перед началом работы - всегда создавай named workspace (File → Save Workspace As...) до того, как начинаешь диалоги. Стабильный идентификатор с первого дня — история никуда не денется.

При параллельной работе с несколькими проектами:

1. Каждый проект — отдельный .code-workspace файл, зафиксированный в репозитории или рядом с ним.

2. Не открывай проекты как "просто папки" — всегда через workspace файл.

3. Не смешивай проекты в одном unnamed workspace: при его конвертации теряется вся история сразу по всем.

Если потеряли историю чатов - резервный доступ:

Команда терминала внутри VS Code: claude --resume

всегда показывает все сессии из ~/.claude/projects/ независимо от workspace. Это страховочная сетка, которую стоит знать.

Главный принцип: идентификатор workspace — это адрес твоей истории. Меняешь адрес — теряешь письма.