fix: ensure Claude MCP settings are shared with worktrees #275
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
symlinkMCPConfigfunction to symlink project-level.mcp.jsonfiles to worktrees, ensuring Claude Code has access to the same MCP serverssymlinkMCPConfigcalls to all worktree setup code pathssymlinkClaudeConfigcall in "already checked out" code path that was preventing.claudedirectory from being symlinked in certain worktree reuse scenariossymlinkMCPConfigfunctionProblem
There were two issues with how worktree Claude configuration was handled:
Missing
.mcp.jsonsupport: Claude Code supports project-level.mcp.jsonfiles for MCP server configuration, but these weren't being symlinked to worktrees. This meant Claude running in a worktree wouldn't have access to project-level MCP servers.Missing
symlinkClaudeConfigin one code path: When a worktree was reused after an "already checked out" error, the.claudedirectory symlink wasn't being created, potentially causing permission/settings inconsistencies.Changes
symlinkMCPConfigfunction that symlinks.mcp.jsonfrom project root to worktree (only if it exists)symlinkMCPConfigcalls to all 4 worktree setup code pathssymlinkClaudeConfigcall in the "already checked out" code pathsymlinkMCPConfigTest plan
TestSymlinkMCPConfigtests pass (5 test cases covering various scenarios)🤖 Generated with Claude Code