Claude Code를 실행하고 메시지를 보낼 때마다 보이지 않는 비용이 발생합니다. 한 번도 쓰지 않는 도구 정의와 시스템 지시문이 매 턴마다 수만 토큰씩 청구되기 때문입니다. 설정 하나로 이 낭비를 줄일 수 있습니다.

먼저 사용량을 파악합니다. 터미널 세션에서 /context 명령어를 실행하면 컨텍스트 창 사용량이 카테고리별로 출력됩니다. 도구 영역이 차지하는 비율이 생각보다 큽니다. 불필요한 페이로드가 계속 전송됩니다.

더 자세히 보려면 로깅 프록시를 사용합니다. proxy.mjs 파일을 실행하고 환경 변수 ANTHROPIC_BASE_URL을 로컬 주소로 지정하면 개별 도구의 바이트 크기를 정밀하게 측정합니다. 크기가 큰 순서대로 정리된 표를 보며 지울 대상을 고르면 편리합니다.

설정 파일로 불필요한 기능 차단하기

settings.json 파일에 비활성화 플래그를 추가하면 무거운 도구를 한 번에 정리합니다. 글로벌 설정은 ~/.claude/settings.json 경로에, 프로젝트 설정은 .claude/settings.json 경로에 작성합니다. 번들 스킬이나 워크플로우를 끄는 플래그를 제공하여 설정이 간단합니다.

  • disableBundledSkills: 데이터 시각화나 코드 리뷰 같은 번들 스킬을 일괄 제거합니다.
  • disableWorkflows: 단일 도구 중 가장 많은 토큰을 소모하는 워크플로우 도구를 제거합니다.
  • disableRemoteControl: 원격 제어 관련 도구를 제거합니다.

개별 도구 제거와 주의할 점

특정 도구만 지정해서 없애려면 permissions.deny 배열을 활용합니다. 플랜 모드를 쓰지 않는다면 EnterPlanMode나 ExitPlanMode를 넣고, 노트북 작업을 배제하려면 NotebookEdit를 추가합니다. 알림을 차단하려면 SendMessage를 등록하면 유용합니다.

여기에는 주의할 점이 있습니다. 도구 이름을 정확히 적어야 스키마 자체가 페이로드에서 제외됩니다. 만약 실행 범위만 제한하려고 하위 옵션까지 적으면 호출만 막히고 토큰은 그대로 낭비됩니다. 주의해야 합니다.

설정을 마친 뒤 Claude Code를 재시작하여 확인하면 토큰 소모량이 크게 줄어듭니다. 코드를 최적화하기 전에 환경 설정부터 가볍게 정리해 보시기 바랍니다.

요약

  • Claude Code는 사용하지 않는 도구의 스키마와 시스템 프롬프트까지 매 요청마다 전송하여 과도한 토큰 비용을 발생시킵니다.
  • settings.json 파일에 비활성화 플래그와 permissions.deny 설정을 추가하여 불필요한 도구 정의를 페이로드에서 제거할 수 있습니다.
  • 도구를 제거할 때는 실행 범위 지정 대신 도구 이름 자체를 지정해야 스키마 정의까지 완전히 배제되어 토큰이 절약됩니다.