DEV Community

Cover image for 매일 Claude 코드 한도 초과 방지법
Rihpig
Rihpig

Posted on • Originally published at apidog.com

매일 Claude 코드 한도 초과 방지법

Claude Code는 롤링 윈도우 방식으로 5시간 토큰 예산을 제공합니다. 단, 이 윈도우는 그날의 첫 메시지를 보내는 순간부터 시작합니다. 예를 들어, 오전 8시 30분에 잠깐 질문을 보내고 오전 11시까지 예산을 모두 쓰면, 오후 1시까지 잠기게 되어 업무 시간 중 두 시간을 낭비하게 됩니다.

지금 Apidog을 사용해보세요

한 개발자가 이 문제를 해결하기 위해 `claude-warmup`이라는 워크플로우를 만들었습니다. 스케줄된 GitHub Action을 활용하여 업무 시작 전에 Claude Haiku에게 의미 없는 "hi" 메시지를 자동으로 보냅니다. 이렇게 하면 5시간 윈도우가 실제 Claude를 사용할 시간에 맞춰 고정됩니다.

이것이 작동하는 이유

Claude Code의 예산 윈도우는 첫 메시지의 시간에 맞춰 고정됩니다. 예를 들어, 오전 6시 15분에 메시지를 보내면 윈도우는 오전 6시부터 오전 11시까지로 설정됩니다. 이후 예산이 소진되면, 다음 윈도우는 오전 11시에 바로 시작됩니다.

이 워밍업 메시지가 없다면, 윈도우는 Claude에게 첫 메시지를 보내는 시점(주로 오전 중반)에 시작되어, 재설정 타이밍이 중간 업무 시간에 맞춰질 수 있습니다.

워밍업용 "hi" 메시지는 거의 토큰을 소모하지 않으므로, 부담 없이 사용할 수 있습니다.

설정 (6단계)

1. 저장소 포크

gh repo fork vdsmon/claude-warmup --clone
cd claude-warmup

2. OAuth 토큰 생성

Claude Code가 설치된 머신에서 다음 명령어를 실행하세요:

claude setup-token

`sk-ant-oat01-...` 형태의 토큰이 출력됩니다. 복사해두세요. (약 1년간 유효)

3. 토큰을 GitHub Secret으로 저장

gh secret set CLAUDE_OAUTH_TOKEN

프롬프트가 뜨면 방금 복사한 토큰을 붙여넣으세요. GitHub Actions에서 인증에 사용됩니다.

4. Cron 스케줄 설정

기본값은 UTC 기준 평일 오전 9시 15분입니다. 본인의 시간대와 업무 스케줄에 맞게 설정하세요:

gh variable set WARMUP_CRON --body "15 13 * * 1-5"

참고용 시간대별 예시:

사용자 시간대 오전 9시 시작을 위한 워밍업 Cron 표현식
UTC 오전 8시 45분 UTC 45 8 * * 1-5
미국 동부 (EST) 오전 8시 45분 = 13:45 UTC 45 13 * * 1-5
미국 태평양 (PST) 오전 8시 45분 = 16:45 UTC 45 16 * * 1-5
CET (중앙 유럽) 오전 8시 45분 = 7:45 UTC 45 7 * * 1-5

5. 워크플로우 테스트

gh workflow run warmup.yml

포크한 저장소의 Actions 탭에서 실행 결과를 확인하세요.

6. 작동 확인

다음날 아침 Claude Code를 열고, 아래 명령어로 세션 재설정 시간을 확인하세요:

/usage

예를 들어 워밍업이 오전 8시 45분에 실행되었다면, 세션 재설정 시간도 오전 8시로 고정되어야 합니다.

대안: 로컬에서 실행하기

GitHub Actions 대신, 로컬에서 크론이나 macOS launchd로 워밍업 메시지를 보낼 수 있습니다:

claude -p "hi" --model haiku --no-session-persistence

이 명령어를 crontab -e로 크론탭에 추가하면 됩니다. 핵심은 첫 메시지가 원하는 시간에 자동 발송되는 것입니다.

예산 오래 사용하는 팁

  • 확장된 사고(Extended Thinking)는 토큰을 많이 소모합니다. 복잡한 문제를 단계별로 추론하게 하면, 직접 답변보다 훨씬 많은 토큰이 사용됩니다. 실제로 필요한 상황(아키텍처 결정, 복잡한 디버깅)에만 활용하세요.
  • 컨텍스트를 최소화하세요. Claude는 열린 파일, 최근 터미널 출력 등 많은 컨텍스트를 읽습니다. 불필요한 파일은 닫고, 일회성 명령에는 --no-session-persistence 옵션을 사용하세요.
  • 질문을 일괄 처리하세요. 여러 개의 짧은 질문보다, 하나의 잘 구조화된 질문이 토큰 소모가 적고 더 좋은 답변을 얻을 수 있습니다. 질문 전 30초간 프롬프트를 정리해보세요.
  • 간단한 작업에는 Haiku 모델을 사용하세요. 변수명 변경, 보일러플레이트 코드 생성, 구성 파일 변환 등은 --model haiku로 충분합니다. 복잡한 추론이 필요할 때만 Opus나 Sonnet을 사용하세요.

Claude Code와 함께 API를 구축한다면

많은 개발자들이 Claude Code로 API를 설계하거나 테스트합니다. 이런 워크플로우에는 Apidog가 잘 어울립니다. Postman, Swagger, 목업 도구를 번갈아 쓸 필요 없이, 한 곳에서 API 스키마 설계, 목업 서버 생성, 자동화 테스트를 모두 할 수 있습니다. Claude Code로 엔드포인트를 작성한 뒤, 복사 없이 Apidog에서 바로 테스트해보세요.

무료로 시작할 수 있으며 REST, GraphQL, gRPC를 기본적으로 지원합니다.

유의할 점

  • 윈도우는 한 번 설정되면 고정됩니다. 첫 메시지 이후 5시간 블록이 고정되어, 중간에 변경되지 않습니다.
  • 예산은 공유됩니다. claude.ai, Claude Code, Claude Desktop 모두 동일한 예산을 사용합니다. 확장된 사고 및 도구 호출이 토큰을 빠르게 소모합니다.
  • 7일 한도는 별도입니다. 이 워크플로우는 일일 재설정만 제어하며, 주간 한도에는 적용되지 않습니다.
  • 토큰은 정시에 재설정됩니다. 예를 들어 오전 8시 47분에 워밍업을 해도, 실제 재설정 시간은 오전 8시입니다. 원하는 시간보다 15분 일찍 크론을 실행하세요.

Claude Code 세션이 예상치 못한 시간에 고갈된다면, 이 워크플로우를 10분 내외로 세팅해 매일 자동화할 수 있습니다. 전체 코드는 github.com/vdsmon/claude-warmup에서 확인하세요.

Top comments (0)