Clutch Developer
SV
Book a call

Två Claude-konton på en Mac: min privata och jobbsetup

En Claude-installation, två skrivbordsprofiler och två korta alias. En praktisk macOS-guide för att hålla privata och jobbrelaterade konton öppna sida vid sida.

Jag använder Claude för privata projekt och kundarbete på samma Mac. Att logga ut varje gång jag byter sammanhang stör arbetsdagen, och det är lätt att börja en konversation i fel konto. Min setup ger varje sammanhang en egen startapp: Claude Personal och Claude Work. Från Terminal skriver jag ccp eller ccw. Båda startapparna använder samma Claude.app-installation.

Den här guiden beskriver macOS-konfigurationen bakom genvägarna, inklusive ett litet AppleScript som du kan granska innan du använder det. Poängen är att göra kontot och dess skrivbordsprofil till ett medvetet val innan du börjar arbeta.

Det här är en communitybaserad lösning för Claude Desktop på macOS, inte en officiell Anthropic-funktion för att växla mellan konton. Appuppdateringar kan ändra hur den fungerar. Startapparna nedan återskapar upplägget med en standardprofil för Personal och en separat profil för Work; kontrollera varje konto i appen efter installationen.

Kortversionen: en app, två skrivbordsprofiler

  • Installera Claude Desktop på /Applications/Claude.app. Du behöver åtkomst till de privata och jobbrelaterade konton du tänker använda.
  • Personal använder den befintliga standardprofilen i ~/Library/Application Support/Claude. Work använder ~/Library/Application Support/Claude-Work.
  • open -n ber macOS starta en ny instans. --args skickar vidare de återstående argumenten till programmet, och --user-data-dir väljer den andra skrivbordsprofilen.
  • Startapparna för vardagsbruk letar först efter den matchande huvudprocessen. Om den finns ber de System Events ta den till förgrunden; annars startar de den.

1. Förstå de två startkommandona

För den privata standardprofilen är det underliggande kommandot:

open -n -a "/Applications/Claude.app"

För Work-profilen är det:

open -n -a "/Applications/Claude.app" --args --user-data-dir="$HOME/Library/Application Support/Claude-Work"

De här kommandona är användbara för att förstå upplägget, men kör dem bara när motsvarande instans är helt avslutad. Att upprepa open -n är inget kommando för att byta konto: det begär en ny process. Startappen i nästa avsnitt lägger till en kontroll innan det händer. Behåll citattecknen runt sökvägar med mellanslag och använd $HOME här; en tilde inom dubbla citattecken expanderas inte till din hemkatalog.

En separat user-data-katalog låter skrivbordsappen hålla en annan lokal session och profilspecifika inställningar. Logga in på arbetskontot i arbetsfönstret och bekräfta vilket konto som visas där. Konversationer som är tillgängliga från ditt konto styrs fortfarande av det kontot; när du skapar en ny mapp kopieras eller migreras inga molnchattar.

2. Skapa startappar för Claude Work och Claude Personal

Öppna Script Editor på Macen och klistra in följande AppleScript. Låt profileName vara "Work" för jobbstartappen. Välj File → Export, välj Application som filformat och spara den som Claude Work.app i /Applications. Om namnet redan finns, granska den befintliga startappen innan du ersätter den. Låt “Stay open after run handler” vara avstängt.

property profileName : "Work"

on run
    set appPath to "/Applications/Claude.app"
    set profileDir to (POSIX path of (path to home folder)) & "Library/Application Support/Claude-Work"
    set executablePath to appPath & "/Contents/MacOS/Claude"
    set selector to "personal"
    if profileName is "Work" then set selector to "work"

    set matcher to "$2 == exe && $0 !~ /--type=/ { if (mode == \"personal\" && index($0, \"--user-data-dir\") == 0) { print $1; exit } if (mode == \"work\") { marker = \"--user-data-dir=\" profile; pos = index($0, marker); tail = substr($0, pos + length(marker)); if (pos > 0 && (tail == \"\" || tail ~ /^[[:space:]]/)) { print $1; exit } } }"
    set lookup to "/bin/ps -axww -o pid=,command= | /usr/bin/awk -v exe=" & quoted form of executablePath & " -v mode=" & quoted form of selector & " -v profile=" & quoted form of profileDir & " " & quoted form of matcher
    set foundPid to do shell script lookup

    if foundPid is not "" then
        set targetPid to foundPid as integer
        tell application "System Events"
            set frontmost of (first application process whose unix id is targetPid) to true
        end tell
        return
    end if

    set launchCommand to "/usr/bin/open -n -a " & quoted form of appPath
    if selector is "work" then
        set launchCommand to launchCommand & " --args " & quoted form of ("--user-data-dir=" & profileDir)
    end if
    do shell script launchCommand
end run

Skapa den andra startappen från samma script genom att bara ändra property profileName : "Work" till property profileName : "Personal". Exportera den som Claude Personal.app i /Applications. Det här är små launcher-appletar, inte omdöpta kopior av Claude-programmet. Du kan dra båda till Dock och vid behov ge ikonerna olika färger så att genvägarna blir lättare att skilja åt.

Vid det första försöket att flytta fokus kan macOS be startappen om tillåtelse att styra System Events. Tillåt automatiseringen om du vill att ett klick ska flytta rätt app till förgrunden. Om macOS rapporterar en hjälpmedelsbegränsning kontrollerar du startappens åtkomst under System Settings → Privacy & Security → Accessibility. Scriptet avbryts om fokuseringen misslyckas; det skapar inte tyst en ny instans som reserv.

Den här startappen matchar Claudes huvudkörfil och utesluter hjälpprocesser som innehåller --type=. Personal matchar en huvudprocess med standardprofilen; Work matchar katalogen för Work-profilen. Det här är en praktisk kontroll för normala klick i följd, inte ett atomiskt lås: undvik att klicka upprepade gånger medan Claude fortfarande startar. Om en process fortsätter köra efter att du stängt det sista fönstret kanske det inte går att få tillbaka ett fönster genom att ta den till förgrunden. Slutför eventuellt bakgrundsarbete, avsluta den instansen normalt och starta den sedan igen. Scriptet avslutar medvetet inte bakgrundsarbete och startar inte en andra process mot samma profil.

3. Lägg till Terminal-aliasen ccp och ccw

Det här är de två genvägarna jag använder. Lägg till dem i ~/.zshrc om du använder zsh, standardskalet i moderna macOS:

alias ccp='open -a "Claude Personal"'
alias ccw='open -a "Claude Work"'

Öppna en ny Terminal-flik eller ladda om skalets konfiguration:

source ~/.zshrc

Nu öppnar eller fokuserar ccp den privata instansen, och ccw öppnar eller fokuserar Work. Aliasen anropar wrapper-apparna utan -n; wrappern avgör om den underliggande Claude-processen behöver startas. Namnen är mina egna genvägar, inte kommandon från Anthropic. De kräver de två startappar som skapades ovan.

4. Kontrollera upplägget innan du förlitar dig på det

  1. Logga in på ett konto i taget. Starta Personal, kontrollera kontot och avsluta det innan du loggar in på Work för första gången. Annars kan webbläsarens login-callback hamna i en oväntad instans. När båda sessionerna är etablerade öppnar du båda startapparna.
  2. Kontrollera processargumenten. Använd kommandot nedan för att leta efter huvudprocesserna. Work ska visa sökvägen Claude-Work. Personal ska inte ha någon user-data-överskrivning. Process-ID:n är tillfälliga; hårdkoda aldrig ett i en launcher.
  3. Kontrollera fokusbeteendet. När båda fönstren är öppna kör du ccp och ccw igen, ett i taget. Var och en ska ta sitt befintliga fönster till förgrunden. Om du får en extra process eller en utloggad dubblett, stoppa och granska profilmachningen.
  4. Kontrollera integrationerna separat. Bekräfta avsett konto, MCP-servrar och behörigheter i varje profil. Ge varje server eller utvecklingstjänst en separat port där det behövs. Upprepa kontrollerna efter en Claude-uppdatering.
ps -axww -o pid=,command= | grep '[C]laude.app/Contents/MacOS/Claude' | grep -v -- '--type='

Om du vill granska en AppleScript-applet senare dekompilerar du scriptet med:

osadecompile '/Applications/Claude Work.app/Contents/Resources/Scripts/main.scpt'

Det kommandot gäller appletar som exporterats från Script Editor. En shellbaserad wrapper kan lagra sin startare någon annanstans. Undvik att dela ofiltrerade processlistor eller profilinnehåll: de kan avslöja lokala sökvägar eller integrationsdetaljer som inte hör hemma i en offentlig supporttråd.

Det här separerar – och det separerar inte

Syftet är att hålla skrivbordssammanhangen åtskilda: en privat inloggning med sina profilinställningar bredvid en jobbinloggning med sina inställningar. Båda körs fortfarande som samma macOS-användare. De kan komma åt filer som den användaren har tillgång till och alla verktyg du ger behörighet till. Delade repositories, miljövariabler, externa MCP-autentiseringsuppgifter och nätverkstjänster blir inte isolerade bara för att skrivbordsprofilen har ett annat namn.

Den här guiden konfigurerar särskilt inte den fristående Claude Code CLI:n. Dess konfiguration använder en annan mekanism, bland annat CLAUDE_CONFIG_DIR, som beskrivs i den officiella dokumentationen om Claude Code-inställningar. Utgå inte från att de här desktopaliasen separerar alla CLI-autentiseringsuppgifter, behörigheter eller projektinställningar. Om två agenter ska redigera samma projekt bör de få separata Git-worktrees eller checkouts och en tydlig arbetsfördelning.

Att låta Personal ligga kvar i standardprofilen i skrivbordsappen är praktiskt för en befintlig inloggning, men det innebär också att ett klick på den vanliga Claude-ikonen kan rikta sig mot den profilen. Använd de namngivna startapparna konsekvent. Vid en ny installation kan du också ge Personal en egen uttrycklig katalog; då måste du ändra både startkommandot och processmatchningen tillsammans. Flytta eller kopiera inte en aktiv profil medan Claude använder den.

Vanliga frågor

Måste jag installera Claude två gånger?

Inte för det här upplägget. Båda appletarna startar /Applications/Claude.app. Appinstallationen delas; skrivbordsdatakatalogerna skiljer sig åt. När huvudprogrammet uppdateras uppdateras den binär som båda startapparna använder, men lösningen behöver ändå kontrolleras snabbt efteråt så att den fungerar.

Ökar det här min användningskvot?

Nej. En startapp ändrar inte ett abonnemang, lägger inte till krediter och återställer ingen gräns. Varje konto behåller sina egna tillämpliga åtkomst- och användningsgränser. Fördelen är att du kan ha privata och jobbrelaterade sammanhang tillgängliga utan att logga ut om och om igen.

Varför öppnade ett klick ett utloggat fönster?

Kontrollera först om mer än en process använder samma profil. Spara arbetet, avsluta de berörda instanserna normalt och öppna den avsedda startappen en gång till. Kontrollera också automatiseringsbehörigheter och den exakta katalogen i startkommandot. Att installera om eller ta bort profilkataloger ska inte vara första åtgärden.

Källor och tack

Metoden med profilflaggan beskrivs av Philipp Stracker. aoxborrow’s launcher gist utforskar namngivna startappar och fokusering; den nuvarande versionen använder en annan katalogstruktur än min. AppleScriptet ovan är en kompakt implementation för de specifika sökvägarna i den här artikeln. Melkon’s guide beskriver en annan metod med kopierade appbundlar. Du behöver inte stegen för att ändra appbundlar i den här lösningen.

Använder du AI för att leverera snabbare? Se till att koden håller.

Ett bättre AI-arbetsflöde hjälper dig att växla mellan projekt. Det säger inte om den resulterande applikationen har en hållbar arkitektur, hanterar data korrekt eller är redo för lansering. Om du har tagit över en kodbas, byggt en MVP med AI eller kommit till en punkt där varje ändring känns skör, är det ett bra läge för en oberoende granskning.

Min kodgranskningstjänst för mobil och webb granskar arkitektur, state management, prestanda, möjliga säkerhetsrisker och lanseringsberedskap. Du får en skriftlig rapport där allvarlighetsgraderna är rangordnade och rekommenderade åtgärder listas, tillsammans med en genomgång live, så att du kan avgöra vad som bör prioriteras. Vi kommer överens om omfattningen före granskningen; genomförandet av åtgärderna kan vara ett separat uppdrag.

Jag hjälper också team med AI-adoption och utrullning och AI-produktutveckling. Berätta om din app och be om en kodgranskning. Ta med teknikstacken, produktens fas och den del du litar minst på; tillsammans hittar vi en bra omfattning.