본문으로 건너뛰기

클로드 계정 로테이션

v1
작성 2026-07-30읽는 시간 9

유료 계정 2개를 자동으로 갈아타며 한도 걱정 없이 써요

냉장고 속 우유 2팩(1번 계정 83%, 2번 계정 3%·내일 리셋)에서 리셋 임박한 쪽부터 마시고, 사용률 90%를 넘으면 키체인 열쇠를 바꿔 걸어 모든 세션이 끊기지 않고 새 계정으로 넘어가는 개념도

이건 뭐예요?

혹시 이런 적 있으세요? 클로드 코드(Claude Code, 터미널에서 AI에게 일을 시키는 도구)로 한창 작업하는데, "사용량 한도에 도달했어요"라는 안내와 함께 모든 게 멈추는 순간이요. 유료 구독에도 5시간 단위·7일 단위 사용량 한도가 있거든요.

저도 그랬어요. IDE(코드 편집기) 속 세션에 자동화 세션까지 하루 종일 여러 개를 돌리다 보니, 계정 하나의 7일 사용률이 83%까지 차올랐어요. 100%를 찍으면 돌던 세션이 전부 끊기고, 리셋(한도가 다시 채워지는 시각)까지 손 놓고 기다려야 해요.

그래서 Max(클로드 상위 유료 요금제) 계정을 하나 더 마련하고, 사용률이 기준선을 넘으면 자동으로 다른 계정으로 갈아타는(로테이션) 구조를 만들었어요. 도구는 오픈소스 cswap(claude-swap)이에요.

그런데 갈아탄다면, 어느 계정부터 써야 할까요? 냉장고에 우유가 2팩 있다고 해볼게요. 하나는 유통기한이 내일까지, 하나는 다음 주까지예요. 당연히 내일까지인 우유부터 마시죠. 안 마시면 버려지니까요. 클로드 계정의 한도도 똑같아요. 리셋이 오면 남아 있던 잔량은 안 쓰면 그냥 증발해요. 그래서 "여유가 많은 계정"이 아니라 "리셋이 임박한 계정부터 먼저 소진" 하는 게 알뜰해요. cswap 은 이걸 consume-first(먼저 소진) 전략이라고 불러요.

전환의 원리도 알고 나면 간단해요. 맥(macOS)의 키체인(Keychain, 비밀번호 금고)에서 클로드 코드는 "Claude Code-credentials" 라는 딱 한 칸만 읽어요. 현관 열쇠걸이에 못이 하나뿐인 셈이죠. 계정 전환은 그 못에 걸린 열쇠 — 토큰(로그인 증표) — 를 바꿔 거는 게 전부예요. 모든 IDE·터미널 세션이 같은 못을 보고 있으니, 약 30초 안에 전부 새 계정으로 넘어가요. 세션 재시작도 필요 없어요.


우리는 이렇게 쓰고 있어요

지금 보고 계신 오토프로그 랩스의 글도, 회사 업무 자동화도 전부 클로드 코드가 해요. 그래서 저희는 Max 계정 2개 — 1번 계정(개인), 2번 계정(회사) — 를 cswap 에 등록하고, 스케줄러가 10분마다 아래 명령을 실행하게 해뒀어요.

# 10분마다 도는 자동 판단 1회 — 조건이 맞으면 계정을 갈아타요
cswap auto --once --strategy consume-first --threshold 90 --cooldown 1800

이 구성이 실제로 어떻게 판단하는지, 2026-07-29 저녁의 실측 장면이에요. 당시 1번 계정 7일 사용률 83%, 2번 계정 3%. 그리고 2번 계정은 25시간 뒤 리셋을 앞두고 있었어요. 같은 상황을 두 전략에게 dry-run(모의 실행)으로 물어봤어요.

기본 전략 best 는 여유 많은 우유를 골라 내일 리셋될 잔량을 버리게 되고, consume-first 는 리셋 임박한 쪽부터 소진하는 것을 대비한 그림

  • 기본 전략(best)의 판단: no switch (83% < 90%) — 전환 안 함. 2번 계정의 잔량 97%는 25시간 뒤 리셋과 함께 사라질 운명이에요.
  • consume-first 의 판단: would switch #1 -> #2 — 곧 리셋될 2번부터 소진하자는 결정이에요.

실제 실행에서는 Switched Account-1 -> Account-2 (proactive) 로그와 함께 전환됐어요. 가장 중요한 건, 그 순간 돌고 있던 세션이 하나도 끊기지 않고 새 계정으로 이어서 일했다는 거예요. 지금도 2번 계정이 활성이고, 10분 틱(주기 실행)은 정상 가동 중이에요.

다만 구성 첫날 밤에 함정을 하나 겪었어요. 5시간 한도는 따로 챙겨야 하더라고요. 이 이야기는 아래 "실전 레슨"에서 자세히 풀게요 — 여러분은 뒤에 나오는 프롬프트만 그대로 쓰시면 처음부터 이 함정이 막혀 있어요.


한번 써볼까요?

먼저 조건 하나만요. 이 구성은 유료 구독 계정이 2개 이상일 때 의미가 있어요. 계정이 하나라면 "이런 게 있구나" 하고 봐두셔도 충분해요.

좋은 소식이 있어요. 아래 과정에서 여러분이 터미널에 직접 칠 명령어는 하나도 없어요. 클로드 코드 대화창에 아래 프롬프트를 순서대로 붙여 넣으면, 설치부터 설정까지 클로드가 알아서 해줘요. 여러분이 직접 하는 건 두 번째 계정으로 로그인 한 번뿐이에요. (이 글은 claude-swap v0.24.0 기준이에요.)

1단계 — 설치하고 지금 계정 등록하기

지금 로그인돼 있는 계정이 그대로 1번 계정이 돼요. 대화창에 이렇게 프롬프트 하세요.

클로드 계정 자동 전환 도구 claude-swap(cswap)을 설치해줘. uv(없으면 pipx)로 설치하면 돼. 설치가 끝나면 지금 로그인돼 있는 내 계정을 cswap add 로 1번 슬롯에 등록하고, cswap list 로 등록 결과와 사용률을 보여줘.

이 프롬프트 하나로 클로드가 설치와 1번 계정 등록을 끝내고, 계정 사용률 표까지 보여줄 거예요.

2단계 — 두 번째 계정 로그인하기 (직접 하는 유일한 단계)

계정 로그인만은 보안상 사람이 직접 해야 해요. 대화창에 아래처럼 입력하면 브라우저가 열려요. 거기서 두 번째 계정으로 로그인하고 돌아오세요.

/login

로그인만 하면 나머지 연결은 클로드가 알아서 해줘요. 돌아와서 이렇게 프롬프트 하세요.

방금 두 번째 계정으로 로그인했어. 이 계정도 cswap add 로 2번 슬롯에 등록해줘. 등록되면 cswap list 로 두 계정의 사용률을 보여주고, 평소에 쓰는 1번 계정으로 다시 전환해줘(cswap switch 1).

여기까지 하면 계정 2개가 cswap 금고에 나란히 저장되고, 여러분은 다시 평소 계정으로 돌아와 있어요.

3단계 — 자동 전환 켜기

이제 10분마다 사용률을 보고 알아서 갈아타게 만들 차례예요. 이렇게 프롬프트 하세요. (프롬프트가 조금 긴 이유는 아래 "실전 레슨"에서 설명할 5시간 한도 함정까지 처음부터 막아 두기 위해서예요.)

cswap 자동 전환을 10분마다 돌게 맥 스케줄러(launchd 나 crontab)에 등록해줘. 매번 이 순서로 판단하는 스크립트로 만들어 줘.
1) 먼저 5시간 사용률만 따로 확인해서, 활성 계정의 5시간 사용률이 90%를 넘고 다른 계정의 5시간 여유가 30%포인트 이상 많으면, 전략과 무관하게 그 계정으로 즉시 전환해줘(cswap switch).
2) 그게 아니면 cswap auto --once --strategy consume-first --threshold 90 --cooldown 1800 을 실행해줘. 리셋이 임박한 계정부터 먼저 쓰는 consume-first 전략이고, 전환 사이에는 최소 30분 간격이야.
등록이 끝나면 스케줄이 잘 걸렸는지 확인해줘.

4단계 — 잘 됐는지 확인하기

마지막으로 전체 구성을 점검해요. 열쇠 바꿔 걸기를 직접 체험해 보는 단계이기도 해요.

지금 활성 계정이 어느 쪽인지, 두 계정의 5시간/7일 사용률과 리셋 시각을 보여줘. 그리고 2번 계정으로 수동 전환을 한번 해 보고, 전환 후에도 이 세션이 잘 살아있는지 확인해줘.

전환 후에도 지금 나누던 대화가 끊기지 않고 그대로 이어지는 것 — 그게 이 도구의 백미예요.


클로드 코드 터미널에서는 이렇게

방금 프롬프트로 시킨 일들이 실제로는 어떤 명령어로 도는지 궁금한 분들을 위한 코너예요. 클로드 코드 대화창에서 ! 를 맨 앞에 붙이면 터미널 명령어를 바로 실행할 수 있어서, 대화 중에도 이렇게 확인할 수 있어요.

# 클로드 코드 대화창 안에서 계정별 사용률을 바로 확인해요
! cswap list

# 지금 활성 계정이 어느 쪽인지 확인해요
! cswap status

이제 핵심인 자동 로테이션이에요. 실제로 돌리는 명령은 앞에서 본 한 줄인데, 옵션 세 개에 각각 이유가 있어요.

# 스케줄러가 10분마다 실행하는 핵심 명령이에요 (앞에 5시간 긴급 점검 1단계가 하나 더 붙어요)
cswap auto --once --strategy consume-first --threshold 90 --cooldown 1800
  1. --strategy consume-first — 리셋이 임박한 계정부터 소진해요. 기본값 best 는 "여유 많은 쪽"을 골라서, 곧 리셋될 계정의 잔량을 버리게 돼요. consume-first 는 임계값(행동 기준선) 아래에서는 "지금보다 더 빨리 리셋되는 계정"으로만 이동해서, 의미 없는 왕복도 없어요.
  2. --threshold 90 — 기본값 그대로 둬요. 100%를 찍고 전환하면 이미 세션이 끊긴 뒤라, 90%에서 미리 넘어가는 거예요. 사실 저희는 처음에 "더 일찍 갈아타야지" 하고 80으로 낮췄다가 사고를 겪었어요. 임계값은 갈아탈 후보를 고르는 기준에도 같이 쓰여서, 낮추면 "빨리 넘어가는" 게 아니라 "갈 곳이 없어지는" 부작용이 먼저 오더라고요. 7일 사용률 83%인 멀쩡한 계정이 후보에서 탈락해 버렸거든요. 기본값을 건드리지 마세요.
  3. --cooldown 1800 — 한 번 전환하면 최소 30분(기본 300초)은 재전환하지 않아요. 계정이 너무 자주 바뀌는 부작용을 막는 안전장치예요. (단, 아래 5시간 긴급 전환은 이 대기를 무시해요 — 작업이 끊기는 게 더 큰 손해니까요.)

--once 는 "한 번만 판단하고 종료"라서 스케줄러에 딱 맞아요. 여러분이 쓰는 스케줄러(맥의 launchd, crontab 등)에 10분마다(*/10 * * * *) 등록하면 돼요. 끝날 때 남기는 종료코드(결과 번호)로 상황을 알 수 있어서, 저희는 전환·오류일 때만 텔레그램 알림을 받고 평소엔 무음이에요.

10분마다 5시간 창을 먼저 점검해 위험하면 즉시 전환하고, 아니면 평소 판단(consume-first)으로 넘어가 이상 없으면 무음, 전환되면 알림으로 끝나는 흐름도

쿨다운(재전환 대기 시간) 같은 상태는 ~/.claude-swap-backup/autoswitch_state.json 에 저장돼요. 10분마다 프로그램이 새로 떠도 지난 판단을 기억하고 이어가요.

실전 레슨 — 5시간 한도는 따로 챙기세요

구성 첫날 밤에 실제로 겪은 사고예요. 활성 계정의 5시간 사용률이 100% 를 치자 돌고 있던 서브에이전트 3개가 "session limit" 안내와 함께 그 자리에서 멈췄어요. 그런데 자동 전환이 일어나지 않았어요. 다른 계정은 5시간 창이 0%로 텅 비어 즉시 쓸 수 있었는데도요.

원인은 cswap 의 판단 방식에 있었어요. cswap 은 계정마다 5시간/7일 사용률 중 높은 쪽 하나로 요약해서 봐요. 다른 계정이 5시간 0%인데 7일이 83%였거든요 — 그래서 "이 계정은 83%네" 하고 요약됐고, 임계값을 넘는다며 후보에서 탈락시킨 거예요. 5시간 창이 텅 비어 있다는 사실은 요약 과정에서 사라졌죠.

그래서 스케줄 스크립트에 5시간 창만 따로 보는 점검을 맨 앞에 추가했어요. 활성 계정의 5시간이 90%를 넘고, 다른 계정의 5시간 여유가 30%포인트 이상 많으면 — 전략이고 쿨다운이고 따지지 않고 즉시 전환해요. 작업이 끊기지 않는 게 최우선이니까요. 앞의 3단계 프롬프트에는 이 점검이 이미 들어 있으니, 그대로 쓰신 분들은 이 함정이 처음부터 막혀 있어요.

보너스 — 자동화용 세션은 계정을 고정해요

로테이션을 켜면 IDE 세션의 계정이 수시로 바뀌어요. 그런데 무인 자동화(스케줄러가 부르는 claude -p, 답만 뱉는 모드)까지 같이 흔들리면 어느 계정의 한도를 썼는지 추적이 안 돼요. 그래서 자동화 스크립트만은 계정을 고정했어요.

cswap 이 만들어 주는 계정별 프로필 폴더를 CLAUDE_CONFIG_DIR 환경변수(프로그램에 건네는 설정 쪽지)로 가리키면 돼요. 클로드 코드가 그 값 기준으로 별도의 키체인 칸을 써서 기본 로그인과 완전히 분리되고, 전역 CLAUDE.md·스킬·settings.json 은 심링크(바로가기 연결)로 따라와 평소 규칙은 그대로예요.

# 자동화 스크립트 맨 앞에 넣는 예시 — 이 스크립트만 1번 계정에 고정돼요
# 내 계정 폴더 이름은 ls ~/.claude-swap-backup/sessions/ 로 확인할 수 있어요
PROFILE="$HOME/.claude-swap-backup/sessions/1-계정폴더이름"
if [ -d "$PROFILE" ] && [ -f "$PROFILE/.credentials.json" ]; then
export CLAUDE_CONFIG_DIR="$PROFILE"
fi

이런 분께 추천해요

계정 로테이션은 "클로드 코드가 이미 일상 도구가 된" 분들을 위한 구성이에요.

  • 한도 100%를 찍고 몇 시간 손 놓아 본 분: 90%에서 미리 갈아타니, 작업이 끊기는 일 자체가 사라져요. 리셋 시각을 계산하며 눈치 보던 습관과도 이별이에요.
  • 개인·회사처럼 유료 계정이 2개 있는 분: 놀고 있는 계정의 잔량은 매주 리셋과 함께 버려지는 중이에요. consume-first 가 두 계정을 알뜰하게 짜내 줘요.
  • 자동화·서브에이전트를 여러 세션에서 돌리는 헤비 유저: 사용량이 순식간에 튀는 환경일수록 자동 전환이 빛나요. 보너스의 계정 고정까지 곁들이면 한도 추적도 깔끔해요.

세 가지만 기억하세요. 전환은 키체인 열쇠 한 칸 바꿔 걸기라서 세션이 안 끊긴다는 것, 유통기한 임박한 우유부터 마시는 게 알뜰하다는 것, 그리고 5시간 한도는 따로 챙겨야 한다는 것. 나머지는 10분짜리 스케줄러가 알아서 해줘요.


참고 링크

개정 이력1
  • v12026-07-30초판