Claude Code는 한 번에 로그인 하나만 유지합니다. 여러 계정을 함께 쓰는 방법은 이렇습니다.
같은 머신에서 업무 계정과 개인 계정을 함께 굴리기 위한 현장 가이드: 어떤 로그인이 활성인지 결정하는 환경 변수 하나, 터미널이 두 개를 넘어가는 순간 shell 방식이 무너지는 이유, 그리고 프로젝트마다 계정을 고정하는 방법.
Claude Code를 회사 일과 개인 프로젝트에 동시에 쓰는 사람이라면 대부분 겪는 순간이 있습니다. 업무 세션을 끝내고 사이드 프로젝트로 넘어갔는데, 에이전트가 여전히 회사가 비용을 내는 계정으로 로그인되어 있다는 것을 깨닫습니다. 그래서 로그아웃하고 본인 계정으로 다시 로그인하면, 30분 뒤에는 그 반대를 해야 합니다.
이 반복은 빠진 기능 때문에 생기는 일이 아닙니다. Claude Code가 로그인 정보를 어디에 보관하는지에서 나오는 결과이고, 그 위치를 알고 나면 여러 계정을 나란히 굴리는 일은 워크플로의 문제가 아니라 설정의 세부 사항이 됩니다.
환경 변수 하나가 어떤 계정이 살아 있는지 결정합니다
Claude Code는 자격 증명을 데이터베이스나 프로필별 키체인 항목에 보관하지 않습니다. 필요한 모든 것을 디렉터리 하나에서 읽습니다: 자격 증명, 세션 메타데이터, 그리고 프로젝트별 기록입니다.
그 디렉터리는 CLAUDE_CONFIG_DIR이 가리키는 곳입니다. 한 번도 설정한 적이 없다면 ~/.claude입니다.

이것이 메커니즘의 전부이고, 여기에는 쓸모 있는 성질이 하나 있습니다. 계정이 전역 설정이 아니라 디렉터리이기 때문에, 계정이 두 개라는 말은 곧 디렉터리가 두 개라는 뜻입니다. 둘 사이에 공유되는 것은 아무것도 없습니다. 둘 다 무기한 로그인 상태로 남고, 서로의 존재를 알지 못합니다.
그래서 가장 단순한 방식도 실제로 동작합니다:
# 개인용
CLAUDE_CONFIG_DIR=~/.claude claude
# 업무용
CLAUDE_CONFIG_DIR=~/.claude-work claude
두 번째 디렉터리 안에서 /login을 한 번 실행하면, 한 대의 머신에 살아 있는 계정이 두 개 생깁니다.
shell 방식이 아파지기 시작하는 지점
위의 두 줄짜리 방식은 터미널을 한 번에 하나만 열고 스스로 규율을 지킨다면 정말로 충분합니다. 이것이 더는 충분하지 않게 되는 이유는 세 가지이고, 셋은 서로 겹쳐서 커집니다.
이 변수는 머신 단위가 아니라 프로세스 단위입니다. 새 터미널, 새 분할 창, 에디터에 통합된 shell은 전부 프로필의 기본값에서 출발합니다. .zshrc에 export해 두면 문제를 옮긴 것에 지나지 않습니다: 이제는 반대쪽 계정을 계속 잊어버리게 됩니다.
어떤 계정이 활성인지 알려주는 것이 아무것도 없습니다. Claude Code는 프롬프트에 계정을 표시하지 않습니다. 터미널 두 개가 열려 있고 그중 하나가 업무 계정으로 돌아가고 있어도, 둘은 똑같아 보입니다. 알아차리는 시점은 보통 청구 내역을 확인하는 시점입니다.
병렬 실행에서는 살아남지 못합니다. 흥미로운 구성은 여러 프로젝트에서 여러 에이전트를 동시에 돌리는 쪽입니다. 동시 세션이 두 개를 넘어가는 순간, 어느 창을 어떤 변수로 띄웠는지 기억하는 일은 규율의 문제가 아니라 설계의 문제가 됩니다.

해법은 shell을 더 쓰는 것이 아닙니다. 실행 시점에 결정을 내리는 일을 그만두고, 실제로 계정을 결정하는 대상, 즉 프로젝트에 계정을 붙이는 것입니다.
계정을 터미널이 아니라 프로젝트에 붙이세요
보통 필요한 것은 명령이 아니라 규칙입니다. 이 고객사의 저장소는 언제나 이 고객사의 계정으로 돌아간다 같은 것입니다. 그 규칙이 존재하는 순간, 아무도 무엇도 기억할 필요가 없습니다.
이것을 제대로 하려면 정해진 순서에 따라 계정을 결정해야 합니다. 규칙에는 예외가 필요하기 때문입니다. 프로젝트 전체의 기본값은 대부분의 경우 맞지만, 특정 에이전트 하나만 다른 곳에서 돌려야 할 수도 있습니다: 테스트 계정에서 굴리는 일회성 실험이라든가, 할당량이 더 큰 시트에서 돌리는 리뷰 에이전트 같은 경우입니다.

위에서부터 읽어 내려가면서, 가장 먼저 일치하는 규칙이 이깁니다. 에이전트 오버라이드는 프로젝트 고정을 이깁니다. 프로젝트 고정은 일반 기본값으로 설정해 둔 것을 이깁니다. 어디에도 설정된 것이 없다면 ~/.claude에 도달하는데, 이는 갓 설치한 상태가 이미 하고 있는 동작입니다. 이 마지막 폴백이 중요합니다: 기존 환경에 이 방식을 얹어도 무언가를 명시적으로 고정하기 전까지는 아무것도 달라지지 않는다는 뜻이기 때문입니다.
AgentsRoom이 구현한 모델이 바로 이것입니다. 각 계정은 앱이 관리하는 디렉터리이고, 로그인은 shell이 아니라 앱 안에서 이루어지며, 위의 결정 순서는 에이전트가 시작될 때 실행되어 그 프로세스에만 CLAUDE_CONFIG_DIR을 설정합니다. 이미 CCS 같은 서드파티 전환 도구를 쓰고 있다면, 다시 로그인하는 대신 기존 프로필 디렉터리를 계정으로 지정할 수 있습니다.
같은 문제가 Codex에도 있고, 변수만 다릅니다
프로바이더를 둘 이상 쓴다면 이 문제를 두 번 만나게 됩니다. 형태는 똑같고 변수는 다르기 때문에, 한쪽을 위해 만든 전환 도구가 다른 쪽까지 덮어주지 못합니다. Codex 쪽은 로그인 흐름에서 무엇이 다른지를 포함해 Codex 멀티 계정 문서에서 따로 다루고 있습니다.
일반적인 이야기는 한 번 짚어둘 가치가 있습니다: 계정 격리는 프로바이더마다 따로 존재하는 메커니즘입니다. 이것을 전역으로 처리한다고 주장하는 도구는 각 프로바이더를 개별적으로 감싸고 있거나, 애초에 하나만 지원하고 있을 뿐입니다.
실제로 토큰을 태우고 있는 계정이 어느 쪽인지 파악하세요
계정을 분리하는 것은 사람들이 이 작업을 하는 이유의 절반일 뿐입니다. 나머지 절반은 소비가 어디에 쌓이는지 아는 것이고, 특히 고객사가 비용을 낼 때 그렇습니다.
shell 방식에서 소리 없이 깨지는 부분이 바로 여기입니다. ~/.claude만 들여다보는 사용량 리더는 에이전트가 다른 곳에서 돌아가기 시작하는 순간부터 실제보다 적게 보고하는데, 숫자가 제법 그럴듯해 보이기 때문에 몇 주 동안 아무도 눈치채지 못합니다. 계정을 인식하는 리더라면 기본 디렉터리 하나가 아니라 설정된 모든 디렉터리를 순회해야 합니다.
계정별, 세션별 수치가 필요하다면 측정 쪽은 Claude Code 토큰 사용량 확인하는 방법에서 다뤘고, 실시간 화면은 토큰 사용량 페이지에 있습니다.
이 방법의 용도가 아닌 것
질문이 자주 나오는 주제이고 침묵보다 솔직한 답변이 낫기 때문에, 한 가지만 분명히 해두겠습니다.
위의 모든 내용은 이미 정당하게 존재하는 계정들을 분리하는 것에 관한 이야기입니다. 회사가 비용을 내는 시트와 본인이 비용을 내는 개인 구독은 서로 다른 두 개의 상거래 관계이고, 이 둘을 한 대의 머신에서 서로 섞이지 않게 유지하는 것은 실재하는 평범한 필요입니다. 고객사의 토큰을 그 고객사에 청구하는 것도, 실험용 계정을 프로덕션 계정에서 떼어놓는 것도 마찬가지입니다.
지금 쓰고 있는 요금제의 용량 한도를 우회하려고 계정을 추가로 만드는 것은 전혀 다른 이야기이고, 이용 정책이 겨냥하는 대상이 바로 그것입니다. 여기서 설명한 메커니즘이 그런 행위를 허용 가능한 것으로 만들어주지는 않으며, 그것을 자동화하는 도구는 여러분이 서명한 약관을 위반하도록 돕는 셈입니다. 두 번째 계정이 다른 누군가가 비용을 내기 때문에 존재한다면 문제가 없습니다. 요금 한도를 초기화하려고 존재한다면 문제가 있습니다. 기준은 이 글이 아니라 Anthropic의 이용 정책입니다.
사람들이 실제로 묻는 질문
같은 컴퓨터에서 Claude Code 계정 두 개를 쓸 수 있습니까?
네. Claude Code는 자격 증명, 세션 메타데이터, 프로젝트 기록을 CLAUDE_CONFIG_DIR이 가리키는 디렉터리에서 읽고, 이 변수의 기본값은 ~/.claude입니다. 이 변수를 두 번째 디렉터리로 지정하고 거기서 로그인하면, 같은 머신에 독립적인 계정 두 개를 갖게 됩니다. 두 디렉터리 사이에 공유되는 것은 아무것도 없으므로 둘 다 동시에 로그인 상태를 유지합니다.
로그아웃하지 않고 Claude Code 계정을 전환하려면 어떻게 합니까?
로그아웃은 아예 하지 않습니다. 로그아웃했다가 다시 로그인하면 같은 디렉터리를 재사용하므로, 두 번째 세션을 얻는 대가로 첫 번째 세션을 잃게 됩니다. 대신 계정마다 자기 설정 디렉터리를 하나씩 주고, CLI를 실행할 때 CLAUDE_CONFIG_DIR을 지정해 그중 하나를 고릅니다. 두 자격 증명 모두 디스크에서 유효하게 남아 있고, 전환에는 아무 비용도 들지 않습니다.
Claude Code는 로그인 정보를 어디에 저장합니까?
CLAUDE_CONFIG_DIR이 가리키는 디렉터리에 저장하며, 따로 바꾸지 않았다면 ~/.claude입니다. 자격 증명 자체는 그 디렉터리 안의 .credentials.json 파일에 들어가고, 그 옆에 세션 메타데이터와 프로젝트별 기록이 함께 놓입니다. 이 디렉터리 하나가 계정 전체이며, 그래서 이것을 바꿔 끼우는 일이 편법이 아니라 깔끔한 전환이 됩니다.
서로 다른 Claude 계정 두 개로 에이전트 두 개를 동시에 실행할 수 있습니까?
네, 각 에이전트 프로세스가 자기 환경에 자기 CLAUDE_CONFIG_DIR을 갖기만 하면 됩니다. 이 변수는 전역으로 읽히는 것이 아니라 실행 시점에 프로세스 단위로 읽히므로, 서로 다른 값으로 시작한 에이전트 두 개는 서로 다른 계정에서 병렬로 돌아갑니다. 업무 프로젝트와 개인 프로젝트를 같은 창에서 함께 쓸 수 있게 해주는 것이 바로 이것입니다.
Claude 계정을 두 개 이상 보유하는 것은 Anthropic 약관 위반입니까?
용도가 다른 계정을 따로 보유하는 것은 평범한 일입니다. 회사가 비용을 내는 시트와 본인이 비용을 내는 개인 구독은 서로 다른 두 개의 상거래 관계입니다. 이용 정책이 겨냥하는 것은 현재 쓰고 있는 요금제의 용량 한도를 우회하려고 계정을 만드는 행위입니다. 두 번째 계정이 다른 누군가가 비용을 내기 때문에 존재한다면 문제가 없습니다. 요금 한도를 초기화하려고 존재한다면 문제가 있습니다. 기준은 Anthropic의 이용 정책입니다.
요약
Claude Code는 계정을 디렉터리로 저장하고, CLAUDE_CONFIG_DIR이 그중 어느 것이 살아 있는지 결정합니다. 디렉터리가 두 개라는 말은 곧 계정이 두 개라는 뜻이고, 둘 다 계속 로그인된 상태로 남으며, 둘 사이에 공유되는 것은 없습니다.
이 방식의 shell 버전은 터미널을 하나만 열어두는 동안에는 잘 돌아갑니다. 그다음부터 필요한 것은 계정이 프로젝트의 속성이 되고 예외를 위한 에이전트별 오버라이드가 붙어서, 에이전트가 시작될 때 올바른 자격 증명이 자동으로 붙고 아무도 무엇도 기억할 필요가 없어지는 것입니다.
AgentsRoom 다운로드
모든 프로젝트에서 AI 에이전트(Claude, Codex, Antigravity CLI, OpenCode, Aider, Grok Build, Mistral Vibe, Kimi Code)를 하나의 창에서 실행하세요.
컴패니언 앱: 이동 중에도 에이전트를 모니터링
Claude, Codex, Antigravity CLI 또는 다른 AI 공급자를 사용하세요.
버그와 요청을 공개 백로그로 바로 보내세요.
AgentsRoom의 실제 모습.
계속 읽기
Claude가 이제 출력물에 워터마크를 새깁니다. 여러분의 코드는 거의 영향받지 않습니다.
Anthropic이 Claude의 출력물에 워터마크를 넣습니다. 실제로 무엇이 표시되는지, 생성된 코드가 왜 대부분 벗어나는지, 누가 탐지할 수 있는지, SEO가 왜 그대로인지 정리했습니다.
기사 읽기Claude Code 세션에서는 hook 이벤트 30개가 발생합니다. 응답할 수 있는 것은 3개뿐입니다.
Claude Code hook 이벤트 전체 목록, 각 이벤트가 발생하는 시점, 차단할 수 있는 15개, 그리고 대부분의 hook 출력을 소리 없이 삼켜버리는 stdout 규칙. 수천 건의 에이전트 세션에서 hook을 실제로 운영하며 정리한 현장 레퍼런스입니다.
기사 읽기AI 에이전트를 위한 피드백 보드: 프롬프트는 사용자가 쓰게 하세요
피드백 도구는 요청을 모읍니다. 그중 어느 것도 그 요청을 만들어 주지는 못합니다. 사용자가 글을 남기는 보드와 코딩 에이전트가 작업을 꺼내 가는 보드가 같아지면, 다시 쓰는 단계가 사라집니다.
기사 읽기