Flera Claude Code-konton på en enhet
Hur du använder två (eller fler) Claude Code-konton parallellt — personligt och företag — med fullständig isolation med en enda miljövariabel.
Jag använder Claude Code dagligen — för personliga projekt och för jobbet. Problemet: det är två helt olika konton med olika OAuth-sessioner, olika CLAUDE.md-instruktioner, olika MCP-servrar och separerat projektminne. Så här kör jag dem parallellt på en enhet med ett enda shell-alias.
Problemet
Claude Code lagrar allt i ~/.claude som standard — OAuth-token, konversationshistorik, global CLAUDE.md, projektminne, MCP-serverkonfigurationer och inställningar. Med två konton behöver du två helt separata världar:
- Personligt konto: egen Max/Pro-prenumeration, personlig CLAUDE.md med dina preferenser, dina MCP-servrar (Obsidian, personliga verktyg)
- Företagskonto: företagsplan, arbets-CLAUDE.md med Jira/Slack-integrationsinstruktioner, företagets MCP-servrar
- Olika OAuth-sessioner: du kan inte vara inloggad på två konton i samma konfigurationskatalog
- Separerat projektminne: du vill inte att arbetskontext läcker in i personliga sessioner och vice versa
Att logga ut och in varje gång du byter kontext är inte ett alternativ. Du förlorar sessionstillståndet, och det är helt enkelt smärtsamt.
Lösningen: CLAUDE_CONFIG_DIR
Claude Code respekterar en enda miljövariabel: CLAUDE_CONFIG_DIR. Sätt den till vilken sökväg som helst, och Claude använder den katalogen istället för ~/.claude för allt — auth, historik, inställningar, minne. Hela setupen tar 60 sekunder.
Steg 1: Skapa en andra konfigurationskatalog
Välj ett namn som passar ditt användningsfall:
mkdir ~/.claude-workKlart. Claude fyller den med nödvändig struktur vid första start.
Steg 2: Autentisera det andra kontot
Kör Claude en gång med den nya konfigurationskatalogen för att trigga OAuth-login:
CLAUDE_CONFIG_DIR=~/.claude-work claudeWebbläsaren öppnas. Logga in med ditt företagskonto. OAuth-token sparas i ~/.claude-work — helt separat från din personliga session i ~/.claude.
Steg 3: Lägg till ett shell-alias
Lägg till detta i din shell-konfiguration så du inte behöver komma ihåg variabeln:
alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'Ladda om din shell:
source ~/.zshrcVad du får
Nu har du två helt isolerade Claude-miljöer:
claude— startar med personligt konto, personlig CLAUDE.md, personligt minneclaude-work— startar med företagskonto, arbetsspecifik CLAUDE.md, separat minne- Isolerad historik: arbetskonversationer stannar i arbetet, personliga stannar personliga
- Separata MCP-servrar: din personliga Obsidian vault MCP syns inte i arbetssessioner
- Oberoende inställningar: olika tillåtna verktyg, olika behörighetsnivåer, olika modellpreferenser per konto
Hur det fungerar under huven
Konfigurationskatalogen är den enda sanningskällan för Claude Codes tillstånd. Här är vad som lever inuti varje:
~/.claude/ ← personal account
├── CLAUDE.md ← personal global instructions
├── projects/ ← personal project memory
├── settings.json ← personal permissions & MCP servers
└── ... ← OAuth session, history, cache
~/.claude-work/ ← corporate account
├── CLAUDE.md ← company-specific instructions (Jira, Slack, etc.)
├── projects/ ← separate project memory
├── settings.json ← different MCP servers, permissions
└── ... ← separate OAuth sessionNär du kör claude-work läser Claude allt från ~/.claude-work. Den vet inte att ~/.claude existerar. De två instanserna är helt oberoende — du kan till och med köra dem samtidigt i olika terminalflikar.
Skalning till N konton
Mönstret utökas till valfritt antal konton. Frilansare med flera kunder? Lägg till fler alias:
# Personal (default — no alias needed)
# Just run: claude
# Corporate
alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'
# Freelance client
alias claude-client='CLAUDE_CONFIG_DIR=~/.claude-client claude'Varje alias får sin egen konfigurationskatalog, sin egen OAuth-session, sin egen CLAUDE.md med kundspecifika instruktioner.
Praktiska tips
- Namnge kataloger tydligt:
~/.claude-work,~/.claude-clientname— du tackar dig själv när det finns tre eller fyra - Skriv skräddarsydd CLAUDE.md för varje: arbets-CLAUDE.md kan innehålla företagsspecifika instruktioner (Jira-tickets, Slack-kanaler, deployment-procedurer). Den personliga förblir mager.
- Olika MCP-servrar per konto: konfigurera arbetsverktyg (Jira MCP, Slack MCP, interna API:er) bara i arbetskonfigurationen. Håll din personliga ren.
- Kolla vilket konto som är aktivt: kör
claude config listi en session om du är osäker — visar sökvägen till konfigurationskatalogen
Där den här lösningen inte räcker till
CLAUDE_CONFIG_DIR isolerar per konto, inte per projekt. Inuti en enskild profil ser Claude varje MCP-server du någonsin har registrerat för det kontot — tvärs över alla dina projekt. För rent personlig användning är det oftast okej. I det ögonblick du har flera produktionskritiska projekt under ett konto, särskilt i överlappande domäner som fakturering, adminverktyg eller infrastruktur, introducerar det en konkret risk mellan projekt: en AI-assistent kan anropa ett verktyg från projekt A medan den jobbar med projekt B, särskilt när båda exponerar liknande namngivna operationer.
Profilmönstret besvarar frågan which account am I in?. Det besvarar inte frågan which project's tools should be active right now?. För arbete med högre insatser, stapla ett andra isolationslager ovanpå kontouppdelningen:
- En profil per produktionskritiskt projekt, inte bara per konto: istället för
~/.claudeoch~/.claude-work, skapa~/.claude-work-billingoch~/.claude-work-admin. Varje profil ser bara de MCP-servrar den faktiskt behöver. - Projektspecifik MCP via
.mcp.json: commit:a en.mcp.jsoni projektroten som listar bara det projektets MCP-servrar. Claude plockar upp dem när den startas från den katalogen. Håll din globala konfiguration minimal — bara universella verktyg (anteckningar, sökning), inga produktionsendpoints. - Namnge MCP-servrar otvetydigt: undvik generiska namn som
admin,billing,mcp-server. Prefixa med projektet:acme_billing_prod,acme_admin_stage. Ett beskrivande namn tvingar fram en paus när något är på väg att anropas från fel kontext. - Granska varje MCP-verktygsanrop innan du godkänner: anrop som
*_create_*,*_delete_*,*_charge_*förtjänar en medveten andra blick. Vilken hastighet du än vinner på rakt av automatiskt godkännande avdunstar första gången ett verktyg från fel projekt avfyras mot produktion.
Den allmänna regeln: dela upp profiler aggressivt, håll produktionsklar MCP utanför default-profilen, och behandla överlapp i verktygsnamn mellan projekt som en smell värd att refaktorera.
Slutsats
En miljövariabel. Ett alias. Fullständig isolation mellan konton. Ingen logout/login-dans, inga konfigurationskonflikter, inget kontextläckage. Den typen av lösning som är nästan besvikande enkel — men det är precis det som gör den bra. Sätt upp en gång och tänk aldrig på det igen.
Hittade du ett fel?
Ett felaktigt faktum, en skev översättning, något som känns falskt i den här artikeln? Skriv till mig — på ditt eget språk.