Skip to content
푸땡로그
Go back

Claude Code --safe-mode: 망가진 설정을 깨끗한 상태에서 디버깅하기

Claude Code가 갑자기 이상하게 동작할 때가 있습니다. 잘 되던 명령이 실패하거나, 특정 MCP 서버가 응답을 지연시킬 수 있습니다. 프로젝트 CLAUDE.md의 지시가 예상보다 강하게 적용되거나, hook과 plugin이 서로 간섭할 수도 있습니다.

이럴 때 --safe-mode ↗를 씁니다. Claude Code v2.1.169에 추가된 safe mode는 커스텀 설정을 끈 상태로 세션을 시작합니다. 그래서 문제가 Claude Code 자체에 있는지, 주변 설정에 있는지 빠르게 가를 수 있습니다.

이 글은 작성 시점 2026-06-17 · Claude Code Week 24 문서 ↗ 스냅숏 기준으로 정리했습니다.

요약 safe mode는 Claude Code의 "시크릿 모드"에 가깝습니다. 인증, 모델 선택, built-in tools, permissions는 유지하지만 프로젝트 지침과 확장 지점을 모두 비활성화합니다.

무엇을 끄는가

공식 문서에 따르면 safe mode에서는 다음 항목이 로드되지 않습니다.

비활성화되는 것예시
프로젝트 지침CLAUDE.md
skills번들/커스텀 skill
pluginsmarketplace plugin, 로컬 plugin
hooksSessionStart, Stop, MessageDisplay 등
MCP servers외부 도구 서버
custom commands/agents프로젝트별 slash command, custom agent

인증, 모델 선택, built-in tools, permission model은 계속 동작합니다. 그래서 “Claude Code 자체가 망가졌나?”와 “내 설정 중 하나가 문제인가?”를 나눠 확인할 수 있습니다.


사용법

터미널에서 이렇게 시작합니다.

claude --safe-mode

환경 변수로도 켤 수 있습니다.

CLAUDE_CODE_SAFE_MODE=1 claude

문제가 safe mode에서 사라지면 원인은 대체로 프로젝트 설정, plugin, hook, MCP 서버, custom command/agent 중 하나입니다. 이때는 하나씩 다시 켜며 원인을 좁힙니다.

flowchart TD
    A[일반 세션에서 문제 발생] --> B[claude --safe-mode 실행]
    B --> C{문제가 재현되는가}
    C -->|예| D[Claude Code 버전·권한·모델·네트워크 확인]
    C -->|아니오| E[커스텀 설정 중 원인 존재]
    E --> F[CLAUDE.md]
    E --> G[plugins / skills]
    E --> H[hooks]
    E --> I[MCP servers]

언제 쓰면 좋은가

다음 상황에서 safe mode를 씁니다.

  1. 새 plugin을 설치한 뒤 응답이 이상해졌을 때
  2. MCP 서버가 느리거나 실패하는지 의심될 때
  3. hook이 메시지를 바꾸거나 작업을 막는지 확인할 때
  4. 프로젝트 CLAUDE.md 지시가 과하게 작동하는지 볼 때
  5. custom command나 skill이 예상 밖 도구 제한을 걸었을 때
Tip 문제가 복잡할수록 먼저 safe mode로 재현 여부를 확인하세요. safe mode에서 재현되지 않으면 Claude Code 본체보다 확장 지점부터 확인합니다.

마무리

에이전트 환경은 설정과 확장이 늘어날수록 할 수 있는 일이 많아지고, 문제 원인의 범위도 넓어집니다. --safe-mode는 그 범위를 줄여 줍니다.

Claude Code가 이상하면 바로 고치지 말고 먼저 safe mode 세션에서 재현해 보세요. safe mode에서 사라지는 문제라면 원인은 대개 사용자가 추가한 확장 지점에 있습니다.


참고 자료


Share this post on:

Previous Post
Claude Code security-guidance plugin: AI가 만든 코드를 같은 세션에서 보안 리뷰하기
Next Post
Claude Code nested subagents: 서브에이전트가 다시 서브에이전트를 부르는 구조