피드로 돌아가기
Debugging a CLI Tool Blindspot: Why "Reload" Commands Don't Always Reload Everything
Dev.toDev.to
DevOps

CLI reload 명령어가 MCP 설정 미반영导致 429 에러 발생함

Debugging a CLI Tool Blindspot: Why "Reload" Commands Don't Always Reload Everything

David Yan2026년 4월 2일4intermediate

Context

chelper auth reload 명령어 실행 후 health check는 모두 통과하지만, MCP tool에서만 "Plan Expired" 429 에러가 발생함. 설정 변경이 일부 파일에만 반영된 "split-brain" 상황임.

Technical Solution

  • Claude Code 설정 분리 파악: 표준 API 호출용 ~/.claude/settings.json과 MCP 서버용 ~/.claude.json으로 구성됨
  • node_modules/@z_ai/coding-helper 소스 분석: loadGLMConfig() 함수가 saveSettings()만 호출하여 settings.json만 업데이트함
  • mcpServers Authorization 헤더 미반영 확인: ~/.claude.json 내 HTTP 기반 MCP 도구의 Bearer 토큰이 그대로 유지됨
  • 전체 재초기화 실행: npx @z_ai/coding-helper init으로 모든 설정 파일 강제 덮어쓰기함
  • Python 스크립트로 직접 업데이트: mcpServers 내 headers.Authorization 필드를 새 API 키로 일괄 교체함

Impact

수치 데이터 없음

Key Takeaway

추상화 계층인 CLI 도구가 실제 설정 파일 상태를 완전히 반영하지 않을 수 있음. UI green light나 CLI success 메시지만 신뢰하면 진단 불가능한 blind spot이 발생함.


Claude Code MCP tool에서 reload 후에도 인증 에러 지속 시, chelper reload 결과와 관계없이 ~/.claude.json 파일 내 mcpServers 설정의 Authorization 헤더를 직접 확인하고 수동 업데이트할 것. 커스텀 설정 유지를 위해서는 Python 스크립트로 headers.Authorization 필드를 일괄 변경하는 것이 안전함.

원문 읽기