Pakai Beberapa Akun Claude Code dengan CLAUDE_CONFIG_DIR

6 menit baca.
Tags: aishelllocal-config

Beberapa akun Claude Code lebih enak dikelola kalau tiap akun punya CLAUDE_CONFIG_DIR sendiri. Login, hooks, skills, MCP server, settings, dan file CLAUDE.md jadi tidak campur semua di default ~/.claude.

Jawaban cepat

Buat satu folder config untuk tiap akun:

mkdir -p ~/.claude-personal
mkdir -p ~/.claude-work

Tambahkan alias ke shell config:

alias claude-personal='CLAUDE_CONFIG_DIR=$HOME/.claude-personal command claude'
alias claude-work='CLAUDE_CONFIG_DIR=$HOME/.claude-work command claude'

Reload shell:

source ~/.zshrc

Lalu buka tiap profile dan login sekali:

claude-personal
claude-work

Setelah itu, pakai claude-personal untuk akun personal dan claude-work untuk akun kerja.

Kapan profile Claude Code perlu dipisah

Folder config terpisah masuk akal kalau tiap akun memang butuh state yang beda:

  • akun personal dan kerja
  • setup khusus client
  • profile bersih untuk testing
  • hooks, skills, MCP server, atau settings yang berbeda

Jangan pakai ini untuk mengakali aturan akun atau subscription. Kalau kamu punya lebih dari satu akun Anthropic, pastikan setup itu memang boleh untuk kondisi kamu.

Manfaat praktisnya sederhana: satu profile bisa berubah tanpa bocor ke profile lain. Akun kerja bisa punya MCP server kerja. Akun personal bisa dipakai untuk eksperimen. Hook yang rusak di satu folder tidak ikut merusak semua sesi Claude Code di mesin itu.

Cara CLAUDE_CONFIG_DIR memisahkan beberapa akun Claude Code

Secara default, Claude Code memakai ~/.claude untuk global user config.

Folder itu bisa berisi:

  • CLAUDE.md
  • settings.json
  • hooks
  • skills
  • agents
  • commands
  • plugins
  • data lokal aplikasi

Saat Claude Code dijalankan dengan CLAUDE_CONFIG_DIR, Claude Code memakai folder itu, bukan ~/.claude.

Command ini:

CLAUDE_CONFIG_DIR=$HOME/.claude-work command claude

menjalankan Claude Code dengan folder config ini:

~/.claude-work

Ini tidak menginstall binary Claude kedua. Yang berubah hanya lokasi proses Claude itu membaca dan menulis config.

Buat folder config

Pakai nama yang masih jelas saat dibaca nanti:

mkdir -p ~/.claude-personal
mkdir -p ~/.claude-work
mkdir -p ~/.claude-client-a

Nama seperti ~/.claude-account1 bisa saja, tapi gampang tertukar. ~/.claude-work lebih susah salah baca saat kamu membukanya lagi beberapa bulan kemudian.

Mulai dari folder kosong kecuali kamu memang punya alasan untuk menyalin config lama. Menyalin seluruh folder ~/.claude ke setiap profile bisa ikut membawa MCP server lama, hooks lama, dan memory yang tidak relevan.

Tambahkan alias untuk zsh atau Bash

Untuk zsh, edit ~/.zshrc:

nano ~/.zshrc

Tambahkan:

alias claude-personal='CLAUDE_CONFIG_DIR=$HOME/.claude-personal command claude'
alias claude-work='CLAUDE_CONFIG_DIR=$HOME/.claude-work command claude'

Reload:

source ~/.zshrc

Untuk Bash, taruh alias yang sama di ~/.bashrc:

nano ~/.bashrc
source ~/.bashrc

Saya lebih suka $HOME di dalam alias karena lebih jelas saat berada di dalam quote. ~ sering tetap jalan, tapi $HOME lebih mudah dibaca di kasus ini.

Kenapa alias memakai command claude

Pakai ini:

alias claude-work='CLAUDE_CONFIG_DIR=$HOME/.claude-work command claude'

bukan ini:

alias claude-work='CLAUDE_CONFIG_DIR=$HOME/.claude-work claude'

command claude memberi tahu shell untuk menjalankan executable Claude Code asli, bukan alias lain yang juga bernama claude.

Ini berguna kalau nanti kamu menambahkan guard alias seperti ini:

alias claude="echo 'Use claude-personal or claude-work'"

Dengan command claude, alias profile tetap jalan.

Login ke tiap akun

Jalankan profile personal:

claude-personal

Login dengan akun personal.

Lalu jalankan profile kerja:

claude-work

Login dengan akun kerja.

Masing-masing harus menyimpan auth dan config di folder dari alias. Setelah itu, alias yang sama harus membuka akun yang sama lagi.

Verifikasi folder config yang aktif

Karena alias hanya mengatur CLAUDE_CONFIG_DIR untuk proses Claude, cek dari dalam sesi Claude Code tersebut. Minta Claude Code menjalankan:

echo $CLAUDE_CONFIG_DIR

Untuk profile kerja, hasilnya kurang lebih seperti ini:

/Users/you/.claude-work

Kamu juga bisa membandingkan config MCP lewat alias:

claude-personal mcp list
claude-work mcp list

Kalau dua profile punya MCP server yang berbeda, output-nya harus berbeda.

Kalau claude-work tidak ditemukan, reload shell atau buka tab terminal baru. Biasanya ini terjadi setelah mengedit ~/.zshrc atau ~/.bashrc.

Hati-hati dengan folder default ~/.claude

Kamu bisa membuka sesi dengan claude-work, tapi saat meminta Claude Code mengedit file pendukungnya sendiri, prompt yang terlalu umum bisa tetap mengarah ke default ~/.claude.

Prompt seperti ini terlalu longgar:

Add this hook to my Claude config.
Create a new Claude Code skill for this workflow.
Update CLAUDE.md with this instruction.

Prompt itu tidak menyebut folder config Claude mana yang harus diubah. Assistant bisa saja menganggap maksudnya ~/.claude, apalagi banyak contoh memakai path default itu.

Kalau task menyentuh hooks, skills, settings, config MCP, atau global CLAUDE.md, sebutkan foldernya:

Add this hook to my Claude Code work profile.
Use this config directory:
~/.claude-work

Do not modify ~/.claude.

Untuk skill, berikan path lengkap:

Create this skill under:
~/.claude-work/skills/my-skill/SKILL.md

Do not create it under ~/.claude/skills.

Untuk file instruksi global profile:

Update the global CLAUDE.md for this Claude Code profile:
~/.claude-work/CLAUDE.md

Do not modify ~/.claude/CLAUDE.md.

Untuk CLAUDE.md project, pakai path repo:

Update the project CLAUDE.md at:
/Users/you/dev/my-repo/CLAUDE.md

Do not update any global Claude Code config file.

Memang terasa repetitif, tapi ini menghemat waktu. Versi terburuk bug ini adalah saat Claude berhasil mengedit file sungguhan, hanya saja bukan file yang dibaca profile aktif.

Pisahkan file profile secara default

Saya akan memisahkan ini per profile:

  • credentials dan auth state
  • settings.json
  • hooks
  • config MCP server
  • skills
  • memory khusus akun

Salin file satu per satu hanya kalau memang dibutuhkan di dua profile. Skill utility kecil mungkin aman dipakai di personal dan kerja. MCP server khusus client biasanya tidak.

Kesalahan umum

Menginstall MCP server ke profile yang salah

Command ini memakai apa pun yang ditunjuk oleh claude biasa:

claude mcp add context7 -- npx -y @upstash/context7-mcp

Untuk profile kerja, jalankan lewat alias kerja:

claude-work mcp add context7 -- npx -y @upstash/context7-mcp

Lalu cek:

claude-work mcp list

Mengedit CLAUDE.md yang salah

Biasanya ada dua file yang dimaksud saat orang menyebut CLAUDE.md:

  • instruksi project: /path/to/repo/CLAUDE.md
  • instruksi global profile: ~/.claude-work/CLAUDE.md

Beri tahu Claude Code file mana yang kamu maksud.

Lupa reload shell

Setelah mengedit ~/.zshrc, jalankan:

source ~/.zshrc

atau buka tab terminal baru.

Kalau claude-work menghasilkan command not found, alias itu belum dimuat di shell tersebut.

Referensi

Cek terakhir

Pakai CLAUDE_CONFIG_DIR saat kamu butuh beberapa akun Claude Code di mesin yang sama. Buat satu folder per profile, jalankan Claude lewat alias, verifikasi folder dari dalam sesi, dan sebutkan folder config yang tepat setiap kali Claude mengedit hooks, skills, settings, config MCP, atau CLAUDE.md.