Claude Code와 Codex 계정 여러 개를 동시에 쓰는 법

회사 계정과 개인 계정을 오가며 Claude Code(클로드 코드)나 Codex를 쓰다 보면, 계정을 바꿀 때마다 다시 로그인하게 됩니다. 스킬과 플러그인도 계정마다 따로 설치해야 하고, 대화 기록은 계정별로 흩어지고요.

업데이트

저도 개인 계정과 회사 계정으로 Claude Code를 쓰다가, 계정마다 플러그인과 권한을 다시 설정하는 게 지겨워서 clausona를 만들었습니다.

이 글에서는 로그인만 계정마다 따로 두고, 스킬이나 hook처럼 공들여 맞춘 환경은 하나로 공유하는 방법을 다룹니다. 원하면 대화 기록도 공유할 수 있습니다.

방법 자체는 간단합니다. 계정마다 설정 폴더를 따로 두고, 로그인 정보와 계정 상태를 뺀 나머지를 기본 폴더에 연결하면 됩니다. 폴더는 Claude Code에서 CLAUDE_CONFIG_DIR로, Codex에서 CODEX_HOME으로 정합니다.

clausona를 쓰면 명령 세 개로 끝납니다.

clausona init              # 이미 로그인된 계정 등록
clausona add claude:work   # 계정 추가, Claude Code 로그인 화면이 열림
csn use work               # 이제 그냥 `claude`가 이 계정으로 시작

계정을 하나 더 쓰기 번거로운 이유

Claude Code는 한 번에 계정 하나만 로그인됩니다. /logout과 /login으로 바꿀 수는 있지만, 바꿀 때마다 다시 로그인해야 해서 꽤 번거롭습니다.

게다가 한 터미널은 회사 계정으로, 다른 터미널은 개인 계정으로 동시에 쓸 수도 없습니다.

Codex도 사정이 같습니다. ~/.codex의 auth.json 하나로 로그인하니까요.

물론 방법은 있습니다. 환경 변수 CLAUDE_CONFIG_DIR와 CODEX_HOME으로 설정 폴더를 하나 더 만들면 로그인을 따로 둘 수 있습니다.

문제는 새 폴더가 빈 상태로 시작한다는 점입니다. 아래 것들이 하나도 없습니다.

그래서 한쪽 계정에 플러그인을 설치해도 다른 쪽에는 없습니다.

두 환경은 그렇게 점점 달라집니다.

Claude Code 직접 설정하기

직접 하는 방법부터 볼게요. ~/.claude를 기본 폴더로 두고, 두 번째 계정용 폴더를 만들어 공유할 것만 연결합니다.

# 두 번째 계정용 폴더
mkdir -p ~/.claude-work

# 두 계정이 함께 쓸 것을 연결
for item in settings.json CLAUDE.md skills commands agents hooks; do
  [ -e ~/.claude/$item ] && ln -sn ~/.claude/$item ~/.claude-work/$item
done

# 그 폴더로 Claude Code를 열고 두 번째 계정으로 로그인
CLAUDE_CONFIG_DIR=~/.claude-work claude

# 계정별 별칭
alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'

hook은 settings.json에 설정됩니다. 그래서 이 파일을 연결하면 hook과 권한이 함께 공유됩니다. 상태 표시줄과 모델 설정도 마찬가지고요.

다만 공유하면 안 되는 것도 있습니다.

기본 계정에는 CLAUDE_CONFIG_DIR를 설정하지 마세요. 값을 ~/.claude로 줘도 Claude Code는 별도 폴더로 취급합니다. 그러면 ~/.claude.json 대신 ~/.claude/.claude.json을 읽고, macOS에서는 다른 키체인 항목을 찾습니다. 결국 로그인되지 않은 다른 사용자가 되는 셈입니다(Claude Code 2.1.278, macOS에서 확인).

Codex 직접 설정하기

Codex는 생각보다 손이 더 갑니다.

홈 폴더에 설정 말고도 계정 상태를 많이 두거든요. 그러니 홈을 통째로 연결하지 말고, 공유할 항목만 골라 연결해야 합니다.

mkdir -p ~/.codex-work
for item in config.toml hooks.json AGENTS.md rules skills plugins agents prompts; do
  [ -e ~/.codex/$item ] && ln -sn ~/.codex/$item ~/.codex-work/$item
done
CODEX_HOME=~/.codex-work codex login
alias codex-work='CODEX_HOME=~/.codex-work codex'

계정마다 따로 둬야 하는 것은 다음과 같습니다(Codex CLI 0.159에서 확인).

하나 더, 홈 경로는 짧게 두세요.

데몬이 홈 안에 유닉스 소켓을 만드는데, 경로가 100바이트 안팎을 넘으면 데몬 자동 업데이트가 아무 말 없이 멈춥니다. 오류도 없으니 알아채기가 어려워요.

clausona로 하기

여기까지 손으로 하려면 꽤 번거롭죠.

clausona는 이 과정을 대신해 주고, 이후에도 연결이 어긋나지 않게 관리하는 무료 오픈소스 CLI입니다. Claude Code와 Codex를 모두 지원합니다.

macOS, Linux curl -fsSL https://github.com/larcane97/clausona/releases/latest/download/install.sh | bash
Windows PowerShell irm https://github.com/larcane97/clausona/releases/latest/download/install.ps1 | iex

Node.js 20 이상과 Claude Code 또는 Codex CLI가 필요합니다.

clausona init              # 이미 로그인된 Claude Code와 Codex 계정 등록
clausona add claude:work   # ~/.claude-work를 만들고 Claude Code 로그인을 엶
clausona add codex:work    # ~/.codex-work를 만들고 Codex 로그인을 실행
csn use claude:work        # 이제 그냥 `claude`가 회사 계정으로 시작
csn use codex:work         # Codex도 같은 방식

계정마다 폴더가 따로 생깁니다. Claude Code는 로그인 정보와 계정 상태를 뺀 나머지를, Codex는 정해 둔 설정 목록만 기본 폴더에 연결합니다.

덕분에 어느 계정으로 열어도 스킬과 hook이 같습니다. 설정과 전역 지침도 그대로입니다.

플러그인도 마찬가지예요. 앞에서 손이 많이 간다고 했던 플러그인 파일 두 개는 계정마다 자동으로 맞춰 줍니다.

연결이 빠지는 일도 생깁니다. Claude Code가 업데이트되면서 새 폴더가 생기는 경우죠. 이런 곳은 clausona doctor가 알려 주고 clausona repair <프로필>이 고칩니다.

참고로 csn은 clausona의 짧은 이름이에요.

clausona는 Claude Code나 Codex를 감싸거나 프록시하지 않습니다.

claude나 codex를 실행할 때마다 셸 hook이 계정 폴더를 지정하고, 원래 명령을 그대로 실행할 뿐입니다.

설치되는 것과 실행 부담

clausona는 도구가 시작되기 전에 계정을 맞춰 놓을 뿐입니다. 세션이 시작된 뒤에는 관여하지 않습니다.

띄워 둘 앱도, 계속 떠 있는 서비스도 없습니다.

claude를 실행할 때
셸이 캐시해 둔 실행 스크립트를 읽고, 원래 실행 파일을 그대로 실행합니다. 직접 재 봤습니다. M4 Pro Mac에서 claude --version을 hook이 있을 때와 없을 때 각 15회 실행했더니, 실행 시간 중앙값이 둘 다 25ms였습니다(Claude Code 2.1.294).
clausona가 직접 실행될 때
그냥 claude나 codex를 실행할 때는 건너뜁니다. clausona를 한 번 띄우는 데 0.3초쯤 걸리거든요. csn use나 플러그인 설치처럼 무언가를 바꾼 뒤의 첫 실행과 API 프로필 실행은 clausona를 거칩니다. clausona run으로 띄우면 route를 쓰든 안 쓰든 매번 clausona가 먼저 실행됩니다.
설치되는 것
1MB 남짓한 JavaScript 파일 하나와 셸 설정 파일에 들어가는 hook이 있습니다. 그 밖에는 공유할 파일과 폴더마다 만드는 심볼릭 링크가 전부입니다. 업데이트는 릴리스의 SHA-256과 대조한 뒤에 적용합니다.
지울 때
clausona uninstall은 hook과 링크를 지웁니다. ~/.clausona도 지우지만, 아직 데이터가 남은 백업은 남겨 둡니다. 계정 폴더와 대화 기록도 그대로 둡니다.

대화 기록까지 공유하기

한 계정에서 하던 대화를 다른 계정에서 이어 가고 싶을 때가 있습니다.

대화 기록은 기본적으로 계정마다 따로 둡니다. 계정별로 기록 공유를 켜면, 그 계정이 기본 폴더와 대화 기록을 함께 씁니다.

clausona config claude:work --merge-sessions
clausona config codex:work --merge-sessions

직접 하려면 Claude Code는 projects/와 jobs/를 함께 공유해야 합니다. teams/도 마찬가지입니다.

셋이 세션 ID로 서로를 가리키기 때문에, 하나만 공유하면 백그라운드 세션을 이어갈 수 없습니다.

끌 때는 --separate-sessions를 쓰면 돼요.

두 계정 동시에 쓰고 사용량 한눈에 보기

csn use는 새로 여는 claude와 codex가 쓸 계정을 정합니다.

그런데 기본 계정은 그대로 두고, 세션 하나만 다른 계정으로 띄우고 싶을 때도 있죠. 그럴 때는 clausona run을 씁니다.

물론 한 터미널은 회사 계정으로, 다른 터미널은 개인 계정으로 열어도 스킬과 hook은 같습니다.

clausona run claude:default

계정이 여럿이면 어디에 한도가 얼마나 남았는지도 궁금해지죠.

clausona list는 모든 계정의 5시간 한도와 주간 한도 사용량을 나란히 보여 줍니다. 초기화까지 남은 시간도 함께 나옵니다. 각 도구가 계정마다 저장해 둔 로그인으로 그 도구의 사용량 정보를 읽습니다.

PROFILE             ACCOUNT              5H         7D
claude:work         dev@example.com      62% 1h     41% 3d
claude:personal     me@example.org       8%         77% 5d
codex:work          dev@example.com      —          12% 5d

계정마다 프로젝트에서 불러오는 스킬, MCP 서버, hook은 대시보드의 Extensions 화면에서 볼 수 있습니다.

동적 라우팅으로 여러 계정의 사용량 최적화하기

계정이 여럿이어도 실행할 때마다 어느 계정에 여유가 있는지 확인하기는 번거롭습니다. 그래서 결국 한 계정만 쓰다가 5시간 한도에 걸리고, 다른 계정의 한도는 그대로 남아 있죠.

clausona의 동적 라우팅은 실행할 때마다 이 선택을 대신합니다. 계정마다 지금 남은 5시간, 주간 한도를 읽고 여유 있는 계정으로 띄워요. 계정을 돌아가며 쓰니 사용량이 한 계정에 몰리지 않고, 여러 계정의 한도를 고르게 씁니다.

쓰려면 route부터 만듭니다. route는 내 계정 몇 개를 묶어 이름을 붙인 거예요.

clausona route add main        # Claude Code 계정 전부, 돌아가며 사용
clausona route explain main    # 지금 실행하면 어느 계정이 뽑히는지와 그 이유
clausona run --route main      # 고른 계정으로 Claude Code 시작

5시간 한도나 주간 한도를 80% 이상 쓴 계정은, 80% 아래인 계정이 남아 있는 동안 건너뜁니다. 어느 계정으로 시작했는지는 실행할 때 한 줄로 알려 줘요.

clausona route explain main이 Claude Code 계정 세 개의 5시간, 주간 사용량을 보여 주고(personal은 80% 초과, 다음 차례는 work), clausona run --route main이 claude:work로 Claude Code를 열어 /status에 회사 계정이 나온 뒤, 같은 명령을 다시 실행하자 다음 차례인 claude:team으로 시작하는 화면.
route main에는 계정이 세 개 있습니다. personal은 80%를 넘어서, 첫 실행은 work로, 다음 실행은 team으로 갔어요.

route에 모든 계정을 넣을 필요는 없습니다. clausona route add work --from '*@work.example'처럼 회사 메일 주소로 된 계정만 묶을 수도 있습니다. 여기에 clausona route dir ~/work work로 폴더를 연결하면, ~/work 아래에서는 그냥 clausona run claude만 해도 회사 계정 중 하나로 시작합니다.

Codex 계정으로 route를 만들 때는 --tool codex를 붙이면 됩니다.

그냥 claude나 codex로 실행할 때는 route를 거치지 않습니다. csn use로 정한 계정으로 시작합니다.

모든 계정이 한도를 다 쓴 상태라면 아무것도 실행하지 않고, 계정마다 언제 풀리는지 알려 줍니다. 풀릴 때까지 기다리는 방법은 route 문서(영문)에 있습니다.

계정을 고르는 건 실행을 시작할 때 한 번뿐입니다. 이미 실행 중인 세션이 다른 계정으로 옮겨 가는 일은 없습니다.

계정은 회사용, 개인용처럼 용도에 맞게 쓰고, Anthropic과 OpenAI 약관을 지켜 주세요.

자주 묻는 질문

Claude Code 계정 두 개를 한 컴퓨터에서 같이 쓸 수 있나요?

네. Claude Code는 설정 폴더 하나에 계정 하나가 로그인됩니다. 그래서 계정마다 설정 폴더를 따로 두면 여러 계정을 로그인해 둔 채 쓸 수 있습니다. clausona는 스킬과 hook을 기본 폴더 ~/.claude와 공유하도록 연결해 줍니다. 플러그인과 설정도 마찬가지입니다.

다른 계정에서 대화를 이어갈 수 있나요?

네. clausona config <프로필> --merge-sessions로 기록 공유를 켜면 claude --resume과 claude --continue가 기록을 공유하는 모든 계정의 대화를 찾습니다. macOS와 Linux에서는 codex resume도 마찬가지입니다.

clausona를 쓰면 Claude Code 실행이 느려지나요?

그냥 claude로 실행하면 느려지지 않습니다. 셸이 캐시해 둔 실행 스크립트만 읽거든요. M4 Pro Mac에서 재 보니 claude --version의 실행 시간 중앙값은 hook이 있을 때와 없을 때 모두 25ms였습니다. clausona run으로 띄우면 route를 쓰든 안 쓰든 clausona가 먼저 실행되는데, 이게 0.3초쯤 걸립니다. csn use처럼 설정을 바꾼 뒤의 첫 실행과 API 프로필 실행도 마찬가지입니다.

로그인 정보도 공유되나요?

아니요. 로그인 정보는 계정마다 따로 있고 공유되지 않습니다.

한도에 걸리면 자동으로 다른 계정으로 바꿔 주나요?

실행 중인 세션은 다른 계정으로 옮겨 가지 않습니다. 다만 route를 쓰면 새 세션을 시작할 때 clausona가 계정을 골라 줍니다. clausona run --route main은 아직 한도가 남은 계정으로 시작하고, 폴더별 route나 기본 route를 정해 두면 clausona run claude만으로도 돼요. clausona use와 clausona run <프로필>은 여전히 직접 고른 계정을 씁니다. 계정은 회사용, 개인용처럼 용도에 맞게 쓰고 Anthropic과 OpenAI 약관을 지켜 주세요.

Claude Code와 Codex의 설정도 서로 공유되나요?

아니요. Claude Code 계정끼리 ~/.claude를, Codex 계정끼리 ~/.codex를 공유합니다.

API 키나 다른 모델도 프로필로 쓸 수 있나요?

네, Claude Code는 됩니다. clausona add claude:gw --api --base-url <url>로 Anthropic API를 프로필로 추가할 수 있습니다. OpenRouter 같은 게이트웨이나 직접 띄운 모델도 됩니다. 추가한 프로필은 다른 계정처럼 전환됩니다.

Windows에서도 되나요?

네, PowerShell 5.1 이상에서 됩니다. 공유 폴더는 정션으로 연결됩니다. 개발자 모드를 켜 두세요. 꺼져 있으면 settings.json, CLAUDE.md처럼 저장할 때마다 통째로 바뀌는 파일이 계정마다 사본으로 남고, clausona doctor가 이를 알려 줍니다.

clausona 써 보기

clausona는 무료 오픈소스입니다. 로그인을 하루에 몇 번이라도 덜 하게 됐다면 GitHub에 별을 하나 눌러 주세요. 다음 사람이 찾기가 한결 쉬워져요.

계정을 나눴다면, 다음은 에이전트 여러 개를 계정마다 나눠 돌리는 일입니다. 에이전트 병렬 실행 가이드에서 이어집니다.