Allow switching project context (working directory) mid-session
Feature Request
Problem:
Claude Code locks the project context (skills, agents, hooks, settings.json) to the directory where the session was started. There is no way to switch to a different project's .claude/ config mid-session. cd in Bash only changes the shell directory for that command - it doesn't reload skills, agents, or hooks from the new directory.
Use case:
I have a multi-project setup where one project (XMafia) contains the core agent definitions and another project (XMafia/XMAFIA-TEAM) contains a team-based variant with its own .claude/ config (different agents, skills, settings). When working in the parent project and iterating on the child project's files, I can't test the child project's skills without closing the session and opening a new one in the child directory.
This is especially painful when:
- Building/editing agent definitions in one project that are meant to run from another
- Iterating on skills across related projects in the same repo
- The user wants to test a skill they just created in a subfolder
Proposed solution:
A built-in command (e.g. /cd <path> or /switch-project <path>) that:
- Changes the working directory
- Reloads
.claude/settings.json, hooks, skills, and agents from the new directory - Updates the session's project context so skills registered in the new
.claude/become available
Alternatively, a simpler version: allow /skill <path-to-SKILL.md> to run a skill from an arbitrary path regardless of current project context.
Current workaround:
Close the session and start a new one in the target directory. This loses all conversation context.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗