Skip to content

Claude Code settings not applied globally despite symlink #794

@atxtechbro

Description

@atxtechbro

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.jsondotfiles/.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:

  1. All environment variables defined in dotfiles/.claude/settings.json should be active
  2. All permissions defined in dotfiles/.claude/settings.json should be active
  3. Any other settings in that file should apply globally
  4. Changes to dotfiles/.claude/settings.json should 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

  1. Force config location: Can we use an undocumented flag or environment variable to make Claude read from our symlinked location?
  2. Symlink the actual file: Instead of symlinking to settings.json, can we symlink ~/.claude.json to a dotfiles-managed version?
  3. Hook-based solution: Use bash aliases or wrapper scripts to inject settings
  4. Monitor upstream: Track when Claude Code completes the migration

Success Criteria

  • Run claude from ~/ and have all dotfiles settings active
  • Run claude from /tmp and have all dotfiles settings active
  • Run claude from any project directory and have all dotfiles settings active
  • No manual copying of settings files required

Related

This issue specifically tracks making Claude Code respect our global settings file.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions