CLAUDE.md는 조언하고, 훅은 우선합니다. 차이를 아세요.

2026년 Claude Code 공식 모범 사례: CLAUDE.md, 훅, 슬래시 명령, 서브에이전트, /rewind 설명.

CLAUDE.md는 조언하고, 훅은 우선합니다. 차이를 아세요.
Share

"32가지 트릭" 같은 목록형 글을 보면 Claude Code가 계속 바뀌는 도구처럼 보입니다. 실제로도 그렇습니다. 다만 지금 이 도구에 무엇이 들어 있는지 알아야 대부분의 변화가 왜 필요한지 이해할 수 있습니다.

2026년 6월 기준 Claude Code로 할 수 있는 일

2026년 6월 기준 Claude Code는 터미널과 IDE에서 쓰는 코딩 에이전트이며, Max, Team Premium, Enterprise 등급의 기본 모델은 Opus 4.8입니다. 이 모델은 2026년 5월 25~29일인 22주 차에 기본값이 되었습니다 . Opus 4.8은 100만 토큰 컨텍스트 창을 제공하며 가격은 입력/출력 100만 토큰당 $5/$25입니다. 더 가벼운 대안인 Sonnet 4.6은 역시 100만 토큰 창을 제공하며 가격은 $3/$15입니다 .

나머지 변화는 운영 방식에 가깝습니다. Auto 모드(--permission-mode auto)는 매 단계마다 사용자에게 묻는 대신 분류기를 사용해 위험한 작업을 차단합니다. 이 기능은 연구 프리뷰(13주 차)에서 Pro(21주 차)를 거쳐 Bedrock, Vertex, Foundry(23주 차)까지 확대되었습니다 . 2026년에는 새 슬래시 명령도 계속 추가되었습니다. /goal(20주 차), /code-review/usage(21주 차), /cd(24주 차), Artifacts 베타(25주 차)가 들어왔고, 26주 차(6월 22~26일)에는 셸에서 MCP login/logout을 실행하는 기능이 추가되었습니다 .

이제 서브에이전트는 최대 5단계까지 체인으로 이어질 수 있으며(24주 차), 동적 워크플로는 수백 개의 서브에이전트를 조율해 메인 대화를 어지럽히지 않고 큰 코드베이스를 조사할 수 있습니다 . 변경 로그가 거의 매일 올라오므로, 특정 플래그에 대한 주장은 직접 쓰는 claude --version 기준으로 확인해야 합니다 .

트릭을 쓰기 전에 먼저 확인할 것

CLAUDE.md advises. Hooks overrule. Know which is which.

어떤 슬래시 명령이든 제대로 값을 하려면 먼저 세 가지를 확인해야 합니다. 빌드가 최신인지, 인증이 CI가 기대하는 방식으로 풀리는지, 그리고 저장소에 불러올 만한 CLAUDE.md가 있는지입니다. 네이티브 설치는 자동 업데이트되지만, Homebrew(brew upgrade claude)와 WinGet 설치는 수동 업그레이드가 필요합니다 . 현재 버전은 claude --version으로 확인하세요.

자동화에서는 인증 우선순위가 고정되어 있으므로 외워둘 만합니다. cloud-provider credentials → ANTHROPIC_AUTH_TOKENANTHROPIC_API_KEY → apiKeyHelper → CLAUDE_CODE_OAUTH_TOKEN → subscription OAuth 순서입니다 . Linux는 자격 증명을 ~/.claude/.credentials.json에 저장하며 권한은 0600입니다. macOS는 암호화된 Keychain을 사용합니다. claude setup-token은 CI용 1년짜리 OAuth 토큰을 발급하지만, Pro, Max, Team, Enterprise 구독이 필요합니다 .

마지막으로, 어떤 저장소에서든 /init을 실행해 시작용 CLAUDE.md를 만들 수 있습니다. 200줄 아래로 유지하고 , 각 줄마다 하나의 기준을 적용하세요. 이 줄을 지우면 Claude가 실수할까? 아니라면 잘라내면 됩니다.

반복해서 익힐 만한 기능: 슬래시 명령, 훅, 서브에이전트

CLAUDE.md advises. Hooks overrule. Know which is which.

다른 모든 요령을 다시 정리해 주는 핵심 차이는 하나입니다. CLAUDE.md는 조언하고, 훅은 강제합니다. CLAUDE.md는 세션 시작 시 컨텍스트로 로드될 뿐 런타임이 검사하는 규칙이 아닙니다. 모델이 그것을 읽고, 가중치를 두고, 때로는 벗어날 수 있습니다. .claude/settings.json에 정의된 훅(PreToolUse, Stop 등)은 모델의 판단과 관계없이 실행되는 결정론적 셸 명령입니다 . 선호 사항은 CLAUDE.md에 넣고, 반드시 지켜야 하는 제약 — "절대 main을 건드리지 말 것", "src/ 밖 쓰기 차단" — 은 훅에 넣으세요. JSON을 직접 손으로 작성할 필요는 없습니다. Claude가 대신 생성할 수 있습니다.

메커니즘성격용도
CLAUDE.md조언용 컨텍스트, 모델이 벗어날 수 있음스타일, 컨벤션, 선호 사항
Hooks (settings.json)결정론적, 매번 실행됨강한 제약, 게이트, 차단

설계할 때 고려해야 할 상한도 있습니다. Claude Code는 Stop 훅이 연속으로 8번 실행되면 자동으로 해당 턴을 종료합니다 . 훅이 계속 차단하면 여덟 번째 실행에서 턴이 조용히 끝납니다. 따라서 훅이 영원히 돌 것이라고 기대하지 말고, 그 전에 빠져나올 수 있는 실제 조건(통과한 테스트, 충족된 /goal)을 만들어 두세요.

"컨텍스트 창에는 전체 대화 — 모든 메시지, 읽은 파일, 명령 출력 — 가 들어가며, 가득 찰수록 성능이 저하됩니다." — Anthropic, Best practices for Claude Code (source: code.claude.com)

이 창을 가볍게 유지하는 방법은 네 가지입니다. 관련 없는 작업 사이에는 /clear를 쓰고, 창이 가득 차기 전에는 /compact <instructions>로 지침에 맞춰 요약하며, 대화 기록에 답이 들어가지 않아도 되는 곁가지 질문에는 /btw <question>을 사용하고, 스레드를 불필요하게 부풀리지 않으려면 cat error.log | claudeclaude -p로 데이터를 바로 파이프하세요 .

작성하기 전에 먼저 계획하세요. Shift+Tab, /plan, 또는 --permission-mode plan을 사용하면 읽기 전용 탐색 모드로 들어가며, 구현하기 전에 Ctrl+G를 눌러 에디터에서 계획을 수정할 수 있습니다 . opusplan 별칭은 Opus 4.8로 계획을 세운 뒤 구현은 Sonnet 4.6에 넘깁니다. 출력 품질은 유지하면서 토큰 비용은 줄이는 방식입니다 .

규칙은 위치로 범위를 나누세요. ~/.claude/CLAUDE.md(전역), ./.claude/CLAUDE.md(팀용, git에 커밋), CLAUDE.local.md(gitignore 처리, 개인용)처럼 둘 수 있습니다. @path import를 사용하면 최대 네 단계까지 재귀적으로 불러와 모노레포 규칙을 중복 없이 공유할 수 있습니다 . 큰 파일 읽기는 .claude/agents/의 서브에이전트에 위임하세요. 각 에이전트는 자체 도구 허용 목록을 가진 격리된 컨텍스트 창에서 실행되므로, 조사 결과가 메인 대화에 쌓이지 않습니다.

실행이 잘못되어도 복구 비용은 낮습니다. Esc는 대화를 보존한 채 중단하고, Esc+Esc 또는 /rewind는 프롬프트별 자동 체크포인트에서 대화, 코드, 또는 둘 다를 복원하며, --continue/--resume은 터미널을 재시작해도 이름 붙인 세션을 이어 갑니다. 세션을 브랜치처럼 다루세요 .

Claude Code에서 자주 걸리는 함정

CLAUDE.md advises. Hooks overrule. Know which is which.

가장 흔한 실패는 CLAUDE.md를 강제 규칙처럼 다루는 것입니다. CLAUDE.md와 자동 메모리는 모두 세션 시작 시 컨텍스트로 로드될 뿐, 강한 규칙이 아닙니다. 모델은 더 나은 경로를 추론하고 조언성 지침을 무시할 수 있습니다 . 반드시 지켜야 하는 제약이라면 결정론적으로 동작하는 .claude/settings.json의 훅에 넣으세요. CLAUDE.md는 조언만 합니다.

그 밖에도 사람들이 자주 걸리는 지점이 몇 가지 있습니다.

  • Stop 훅의 상한. Claude Code는 Stop 훅 차단이 연속 8번 발생하면 이를 덮어쓰고 턴을 종료합니다 . Stop 훅은 그 한도에 닿기 전에 해결 경로나 인계 지점이 생기도록 설계하세요. 그렇지 않으면 턴이 조용히 끝납니다.
  • /rewind는 git이 아닙니다. 프롬프트별 체크포인트는 세션을 넘어 유지되지만, 대화가 진행되면 덮어써집니다 . 긴 무인 실행을 시작하기 전에는 git에 커밋하세요.
  • 로컬 모델에는 여유가 필요합니다. Claude Code가 주입하는 시스템 프롬프트만으로도 4K 토큰을 넘을 수 있어, LM Studio의 기본 4,000토큰 창은 즉시 실패합니다. 한 발표자는 ANTHROPIC_BASE_URL을 엔드포인트로 지정하기 전에 이를 약 80,000까지 올렸습니다 .
  • Auto 모드는 논쟁적입니다. Anthropic은 이를 위험한 작업을 차단하는 분류기로 설명합니다 . 하지만 독립 연구에서는 모호한 프롬프트에서의 신뢰성에 의문을 제기합니다. 되돌릴 수 없는 결과가 따르는 경우에는 --permission-mode default를 사용하세요.

이 기본기를 익힌 뒤 다룰 것들

컨텍스트, 메모리, 검증 루프가 익숙해지면 다음 단계는 Claude Code를 외부 세계와 연결하고 병렬로 실행하는 것입니다. MCP 서버부터 시작하세요. claude mcp add는 이제 Week 26에 추가된 셸 수준의 claude mcp login/logout과 함께 사용할 수 있으므로 (2026년 6월 22–26일), 외부 데이터 소스의 출력을 대화에 붙여 넣는 대신 직접 연결할 수 있습니다 .

그다음은 다음과 같습니다.

  • Artifacts beta(Week 25 )는 Claude Code에서 UI 결과물을 바로 렌더링하므로 별도의 HTML 내보내기 단계를 건너뛸 수 있습니다.
  • Git worktrees--worktree, --bg, --remote와 함께 별도 브랜치에서 병렬 실험을 격리해 작업 디렉터리 충돌을 없애며, 실제 에이전트식 팬아웃의 기반이 됩니다 .
  • SKILL.md 파일.claude/skills/ 안에서 다단계 절차를 CLAUDE.md 밖으로 옮기고 필요할 때만 로드합니다. 수동으로 트리거되는 부수 효과 워크플로에는 disable-model-invocation: true를 설정하세요 .

핵심은 이렇습니다. CLAUDE.md는 가볍고 조언 중심으로 유지하고, 결정적 강제는 hooks로 밀어 넣으며, 워크플로가 커질수록 skills, MCP, worktrees가 무게를 나눠 들게 하세요.

자주 묻는 질문

Claude Code에서 CLAUDE.md와 hooks는 어떻게 다른가요?

CLAUDE.md는 조언이고, hooks는 결정적입니다. CLAUDE.md는 세션 시작 시 컨텍스트로 로드되므로 Claude가 그 지침을 따를 수도 있고, 더 나은 경로를 추론하면 벗어날 수도 있습니다. 반면 .claude/settings.json에 정의된 PreToolUse, Stop 등의 hooks는 모델 동작과 관계없이 기계적으로 강제됩니다 . 명령 차단이나 테스트 통과 요구 같은 강한 제약은 hooks에 넣고, 스타일 선호와 프로젝트 관례는 CLAUDE.md에 두세요. 한 가지 주의할 점은 Claude Code가 Stop hook에 8회 연속 차단되면 이를 덮어쓰고 턴을 종료한다는 것입니다 .

작업 중간에 Claude Code 성능이 떨어지는 것을 어떻게 막나요?

희소 자원인 컨텍스트 창을 관리해야 합니다. 컨텍스트 창에는 전체 대화, 즉 모든 메시지, 읽은 파일, 명령 출력이 들어가며, 채워질수록 성능이 저하됩니다 . 관련 없는 작업 사이에는 /clear를 쓰고, 지시 기반 요약에는 /compact <instructions>를 사용하세요. 큰 코드베이스의 파일 읽기는 subagents에 위임해 메인 스레드가 오염되지 않게 하세요. 데이터를 대화에 붙여 넣기보다 cat error.log | claude 또는 claude -p로 직접 파이프하세요 .

/rewind는 무엇을 복원하나요? git 대신 써도 되나요?

아니요. /rewind는 git 대체물이 아닙니다. 세션 간에도 유지되는 프롬프트별 자동 체크포인트에서 대화 상태, 코드 변경, 또는 둘 다를 복원합니다 . 다만 대화가 진행되면 체크포인트가 덮어써지므로, 이는 작업 세션 안의 복구 수단이지 지속 가능한 버전 이력은 아닙니다. 오래 무인으로 실행하기 전에는 git에 커밋하세요. Esc는 컨텍스트를 보존한 채 중단하고, Esc+Esc는 같은 복원을 트리거합니다 .

대화형 세션 없이 CI에서 Claude Code를 실행하려면 어떻게 하나요?

토큰을 생성한 뒤 비대화형으로 실행하세요. claude setup-token을 실행해 1년짜리 OAuth 토큰을 만드세요. 이 기능에는 Pro, Max, Team 또는 Enterprise 플랜이 필요합니다 . 그런 다음 claude -p--output-format json 또는 stream-json --verbose와 함께 호출합니다. 권한은 --allowedTools/--disallowedTools로 제한하고, 비용은 --max-budget-usd로 상한을 두며, 반복 횟수는 --max-turns로 제한하세요 . 변경 로그가 거의 매일 배포되므로 플래그 이름은 claude --version과 실시간 CLI 레퍼런스로 확인하세요 .

Claude Code에서 무거운 계획 수립을 가장 저렴하게 실행하는 방법은 무엇인가요?

opusplan alias를 사용하세요. Opus 4.8로 계획을 세운 다음 구현은 Sonnet 4.6으로 전환해 토큰 비용을 절약합니다 . Opus 4.8은 입력/출력 토큰 100만 개당 $5/$25이고 Sonnet 4.6은 $3/$15이므로, 더 비싼 모델은 추론에만 쓰고 구현을 Sonnet에 넘기면 비용을 줄일 수 있습니다 . 넘기기 전에 /compact로 계획을 요약해 구현 모델이 전체 대화를 다시 읽지 않게 하세요 .