-
Notifications
You must be signed in to change notification settings - Fork 2
Claude Code settings not applied globally despite symlink #794
Copy link
Copy link
Open
Labels
Description
Problem
Claude Code sessions opened anywhere in the filesystem don't have the same settings configured in dotfiles, even though we have a proper symlink from ~/.claude/settings.json → dotfiles/.claude/settings.json.
Current State
- ✅ Symlink exists:
~/.claude/settings.json→/home/linuxmint-lp/ppv/pillars/dotfiles/.claude/settings.json - ❌ Settings not applied: Claude Code doesn't read from
~/.claude/settings.json - ❌ Claude Code uses:
~/.claude.json(52MB file) for all configuration - ❌ Environment variables in dotfiles not active globally
- ❌ Permissions in dotfiles not active globally
Expected Behavior (Definition of Done)
When I run claude from ANY directory on my system:
- All environment variables defined in
dotfiles/.claude/settings.jsonshould be active - All permissions defined in
dotfiles/.claude/settings.jsonshould be active - Any other settings in that file should apply globally
- Changes to
dotfiles/.claude/settings.jsonshould affect all future Claude sessions
Root Cause
Claude Code is in the middle of migrating from ~/.claude.json to ~/.claude/settings.json but hasn't completed this migration. Our symlink is correct but Claude Code doesn't use it yet.
Workarounds to Investigate
- Force config location: Can we use an undocumented flag or environment variable to make Claude read from our symlinked location?
- Symlink the actual file: Instead of symlinking to
settings.json, can we symlink~/.claude.jsonto a dotfiles-managed version? - Hook-based solution: Use bash aliases or wrapper scripts to inject settings
- Monitor upstream: Track when Claude Code completes the migration
Success Criteria
- Run
claudefrom~/and have all dotfiles settings active - Run
claudefrom/tmpand have all dotfiles settings active - Run
claudefrom any project directory and have all dotfiles settings active - No manual copying of settings files required
Related
- Migrate Claude Code Settings to settings.json Format #577 tracks the migration plan but not the actual problem
- MCP configuration should be globally accessible, not locally contained #791 solved this for MCP configuration using aliases
- Establish global-first configuration principle for dotfiles #793 establishes the principle that dotfiles should be global-first
This issue specifically tracks making Claude Code respect our global settings file.
Reactions are currently unavailable