Claude Code: direnv+CLAUDE_CONFIG_DIR でディレクトリごとにアカウント/設定を自動で切り替える
ghq などでリポジトリを置く場所ごとに .envrc で CLAUDE_CONFIG_DIR を設定すれば、そのディレクトリに入っただけで Claude Code のプロファイル(アカウント・設定・履歴)が切り替わる。
どんな時に使う?
- 仕事用と個人用で Claude のアカウントや設定を分けたい
- 組織ごとに異なる MCP・権限設定を使い分けたい
手順
- シェルに direnv のフックを入れる(zsh の例):
bash
eval "$(direnv hook zsh)" - 組織ディレクトリ(例:
~/ghq/github.com/my-company/)に.envrcを置く:bashexport CLAUDE_CONFIG_DIR="$HOME/.config/claude/profiles/my-company" direnv allowで許可。以降、配下でclaudeを起動するとそのプロファイルが使われる
注意点
- プロファイルごとにログインし直しが必要。
.envrcはリポジトリにコミットしないよう、置き場所(リポジトリの親ディレクトリ)に注意。