[BUG]
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
What causes the working directory to be the Event Driven Programming directory? That directory does not even exist any more, I have renamed it in an effort to cause code to stop using it as the working directory and yet...
Let me check the Claude configuration files that control the working directory.
Found files
Let me check the global settings and look for any MCP server config that references the old directory.
Read a file, found files, ran a command
UI built by a summer intern. IT DOESN'T WORK!!!
No project-level settings file. Let me check MCP server configs, which often set cwd for servers.
Found files, ran a command, used 2 tools
Found the desktop app config. Let me check it for MCP server cwd settings.
Read a file, used 2 tools
The config is in $env:APPDATA\Claude, not LocalAppData.
Used PowerShell
Found it. The claude_desktop_config.json has this old path stored in two Epitaxy preference entries:
"epitaxy-perm-mode-acks.30526a3e-...": [
"D:\\Event Driven Programming in VBA:bypassPermissions"
],
"epitaxy-folder-permission-mode.30526a3e-...": {
"D:\\Event Driven Programming in VBA": "bypassPermissions"
}
Let me also check the git-worktrees and sessions files for any references.
Used 2 tools
The worktrees are clean. Let me check the sessions file for any reference to that old directory.
Used 3 tools
That UUID matches the one in the config. Let me look inside that session directory.
Used 3 tools
Let me check a few more sessions and the Preferences file for the old path.
Used 2 tools
Found the root cause. There are 3 active (non-archived) sessions stored with cwd: "D:\\Event Driven Programming in VBA":
local_0b77959b - 3 turns
local_1ed6e6a3 - "Async AI agent communications protocol" (17 turns)
local_faf5e926 - "Migrate correlation processing to new system" (66 turns)
The Epitaxy sidebar in the desktop app shows these sessions as active. When you click one, it tries to resume or start a new session in the stored cwd. Since the directory was renamed, that path no longer resolves - but the app still tries to use it.
Two things need to be cleaned up:
The 3 session files - mark them archived or delete them
The claude_desktop_config.json - remove the D:\Event Driven Programming in VBA entries from epitaxy-perm-mode-acks and epitaxy-folder-permission-mode
Would you like me to make those edits? If you want to preserve the session history (just hide from sidebar), I can set "isArchived": true in those 3 JSON files. If you don't care about them at all, I can delete the files. Your call.
Ohhh YES!!!! I need this fixed. It has been making my life hell for months
Let me fix both issues now. I'll read the three session files and the config, then patch them all.
Used 3 tools
Now I'll archive all three sessions and clean the desktop config in one shot.
Used PowerShell
Now clean the claude_desktop_config.json - remove the two D:\Event Driven Programming in VBA entries.
Used PowerShell
Let me verify both changes landed correctly.
Used PowerShell
All clean. Here's what was done:
3 session files - set isArchived: true so the Epitaxy sidebar stops showing them (history is preserved, not deleted)
claude_desktop_config.json - removed D:\Event Driven Programming in VBA from both the epitaxy-perm-mode-acks array and the epitaxy-folder-permission-mode map
Restart the Claude desktop app and the ghost directory will be gone from the sidebar. It won't try to use that path as a working directory again.
Notice I still have an EventDriven... project. That dir is entirely moved and the .claude file inside of that dir is deleted. And yet...
The project list is built from all sessions (including archived ones) that have that cwd. Let me search for any remaining non-archived sessions and also check if there's a separate project registry.
Used 4 tools
The project filter includes archived sessions too - it's derived from the cwd field in any session file. The only way to remove "Event Driven Programming in VBA" from that list is to delete those 3 session files entirely.
Those sessions point to a directory that no longer exists, so the history isn't resumable anyway. Do you want me to delete them?
Why does it feel like the UI for Code was built by a summer intern?
Ha. Because session management in Claude Code is genuinely underdeveloped relative to the rest of the product.
The specific things you ran into:
No "forget this project" button - the only way to remove a stale project from the filter is to dig into JSON files in AppData
Archiving doesn't remove from project list - archiving a session should logically remove its project from the filter if no active sessions remain there
Renamed/deleted directories just haunt the sidebar - no cleanup when the path no longer exists on disk
Permission settings survive directory deletion - the config still holds bypassPermissions for a path that's gone
These are all symptoms of the same thing: the session/project model was bolted on incrementally and the UI never got a proper "project lifecycle" pass. The core AI quality is excellent; the session housekeeping is an afterthought.
Worth filing an issue at https://github.com/anthropics/claude-code/issues if you haven't - especially the "directory renamed/deleted, project persists forever" case. That one has a clear automated fix (validate cwd on startup, mark sessions archived if path gone) and would help a lot of people.
Anyway - want me to go ahead and delete those 3 session files?
What Should Happen?
The uI should have a way to add / delete projects.
You should hire a real engineer to write a real UI. UI stands for "User interface". It is FOR THE USER!!!
it is supposed to make the product, whatever "the product" means, easy for the user to use. In this case "The product" is Claude Code. Specifically the ability to add and remove projects. CANNOT BE DONE!!!!!!! A very basic part of the UI just flat does not work!!! Or... it may work if the user is the summer intern who wrote it and knows how to click his pointy little red shoes and say "I just want to ..."
Hire a real software engineer and make this UI work.
Error Messages/Logs
Steps to Reproduce
Try to create a project. Try to DELETE a project. Try to never see a given project ever again. Good luck with that!
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
PS C:\Users\jwcol> claude --version 2.1.126 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
This is what I had to go through to get rid of it, and now it pops up an error about unable to read a json file. Then closes it so fast I can't even take a screen shot!!!
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗