The Windows version of the multiple-account problem is usually simple: a work account and a personal account both need to run on one computer, but the last login becomes easy to forget. A profile gives each account a stable name. A repository binding adds a second check when the account matters to the project.
1. Save the Windows accounts as named profiles
Install aisw, initialize its local store, and save the accounts with labels that describe their purpose. If Claude Code is already signed in, capture that live account first. Add the second account through Claude Code's normal authentication flow, then save it as a separate profile.
aisw init
aisw add claude work --from-live
aisw add claude personal
aisw list claudeThe system-keyring backend controls where aisw stores the managed profile secret. It does not change the way Claude Code stores or refreshes its live credential. The profile names are local labels. aisw does not create provider accounts or bypass Claude's authentication and usage limits.
aisw add claude work --credential-backend system-keyring
aisw add claude personal --credential-backend system-keyring2. Switch accounts from PowerShell
Select the account before opening Claude Code for a task. The tool-specific status command makes it clear which Claude profile is selected, while verify compares the selected profile with the live state.
aisw use claude work
aisw status --tool claude
aisw verify
claudeTo move to the personal account, finish or close the current Claude Code process first. Then switch, check, and launch again:
aisw use claude personal
aisw status --tool claude
aisw verify
claude3. Switch from a VS Code integrated terminal
VS Code does not change the credentials of a Claude Code process that is already running. Run the same commands in a new PowerShell integrated terminal, close the old agent process, and start Claude Code after verification. This keeps the editor session and the selected account on the same process boundary.
aisw use claude work
aisw status --tool claude
aisw verify
claudeIf a terminal was open before you installed or changed the shell hook, open a fresh VS Code terminal before testing the switch. The current shell can retain old environment variables even when the profile selection is correct.
4. Bind a Windows repository to the expected account
A manual switch still depends on memory. For a client or production repository, create a context and bind the repository to it. The workspace guard can warn during setup or block a launch when the active account does not match.
aisw context create client-acme --claude client-acme-claude
aisw workspace bind . --context client-acme
aisw workspace guard --mode strictStart with warn mode if you are mapping existing folders. Once the bindings are correct, strict mode makes an account mismatch an explicit stop instead of a silent credential mix-up.
What to check when the old account remains active
Run aisw status --tool claude and aisw verify from the same terminal that will launch Claude Code. If the profile is correct but the old account remains, close the existing agent and start a fresh PowerShell or VS Code terminal. Claude Code's storage behavior can also vary by installation; aisw reports when an isolated profile cannot own a shared live credential independently.
For the platform-neutral command reference, read How to Switch Claude Code Accounts. For the broader two-account model, see multiple Claude Code accounts on one computer.
