설치와 기본 명령어를 넘어, 실제로 어떻게 쓰는가
Part 7에서 Claude Code의 개념·설치·기본 명령어를 다뤘다. 이 장은 매일 쓰는 실전 워크플로우에 집중한다. 명령어를 손에 익히고, 안전하게 권한을 다루고, 길을 잃었을 때 되돌리고, 반복 작업을 자동화하는 방법을 익힌다.
1. 명령어 한눈에 보기
Claude Code의 명령은 크게 슬래시 명령어(/), 입력 단축 기호(@ # !), 키보드 단축키로 나뉜다.
기본 명령어 — 가장 많이 쓰는 것들
명령어 | 기능 |
|---|---|
| 사용 가능한 명령어·단축키 도움말 |
| 현재 프로젝트를 분석해 CLAUDE.md 자동 생성 |
| 대화 컨텍스트 초기화 (새 작업 시작 시) |
| 긴 대화를 요약 압축해 컨텍스트 절약 |
| 사용할 모델 변경 |
| 설정 변경 (테마, 동작 옵션 등) |
| 세션·계정·연결 상태 확인 |
| 계정 인증 / 로그아웃 |
알아두면 편리한 명령어
명령어 | 기능 |
|---|---|
| 현재 컨텍스트 사용량을 항목별로 시각화 |
| 요금제 사용량·한도 확인 ( |
| 권한 허용(allow)/질문(ask)/거부(deny) 규칙 관리 |
| 플랜 모드로 진입 (큰 변경 전에) |
| 사고 깊이(추론량) 조절 — |
| 코드·대화를 이전 체크포인트로 되돌리기 |
| 지금 백그라운드에서 도는 것(셸·서브에이전트) 목록 |
| 대화 기록을 더럽히지 않고 곁다리 질문 하기 |
| 서브에이전트 생성·관리 |
| MCP 서버 연결·인증 관리 |
| CLAUDE.md(메모리) 바로 편집 |
| 훅(Hook) 설정 (도구 실행 전후 자동 실행) |
| GitHub PR 리뷰 |
| 변경된 코드의 보안 취약점 점검 |
| vim 키 바인딩 입력 모드 |
|
|
| 설치·환경 진단 |
| 현재 대화 내보내기 |
명령어가 기억 안 날 땐
그냥 /만 입력하면 사용 가능한 명령어 목록이 자동완성으로 뜬다. 자세한 설명은 /help.
목록에는 내장 명령어 + 스킬(Skills) + 플러그인·MCP가 추가한 명령어가 모두 함께 뜬다.
입력 단축 기호 & 키보드 단축키
입력 | 동작 |
|---|---|
| 파일·폴더 참조 (예: |
| 메모리 추가 (CLAUDE.md에 기록) |
| 셸 모드 — 명령을 직접 실행하고 그 출력을 대화에 넣는다 (예: |
| 권한 모드 순환 (Manual → 편집 자동 → 플랜 → …) |
| 진행 중인 작업 즉시 중단 (지금까지 한 작업은 유지) |
| 입력창이 비어 있으면 되돌리기(rewind) 메뉴 열기 |
| 클립보드 이미지 붙여넣기 (Windows·WSL은 |
| 확장 사고(extended thinking) 켜기/끄기 |
| 입력 중인 프롬프트를 유지한 채 모델 전환 |
| 실행 중인 명령·에이전트를 백그라운드로 |
| Claude의 할 일 체크리스트 표시 |
| 트랜스크립트 뷰어 (도구 호출 상세 보기) |
| 입력 히스토리 역방향 검색 |
| 이전 입력 히스토리 탐색 |
Ctrl+T와 /tasks는 다르다
Ctrl + T= Claude가 스스로 세운 할 일 체크리스트 (todo)/tasks= 백그라운드에서 실제로 도는 셸·서브에이전트 목록
이름이 비슷해 헷갈리기 쉽다. "지금 뭐가 돌고 있지?"는 /tasks다.
2. 6가지 권한 모드 (Permission Modes)
Claude Code는 파일을 고치거나 명령을 실행하기 전에 사용자에게 허락을 묻는다. 이 "묻는 정도"를 조절하는 것이 권한 모드이며, 현재 6가지가 있다.
먼저 알아둘 것 — 읽기는 원래 안 묻는다
어느 모드든 파일을 읽고 코드를 검색하는 일은 확인 없이 한다. 권한 모드가 조절하는 것은 쓰기(파일 수정)와 실행(명령)이다.
Shift + Tab을 반복해 누르면 모드가 순환하고, 화면 하단에 현재 모드가 표시된다. 시작할 때 claude --permission-mode plan처럼 지정할 수도 있다.
모드 비교표
모드 | 확인 없이 되는 것 | 언제 쓰나 |
|---|---|---|
| 읽기만 | 평소·민감한 작업 |
| 읽기 + 파일 편집 + | 내가 리뷰하면서 반복 편집 |
| 읽기만 (수정 자체가 차단) | 고치기 전에 조사·설계 |
| 거의 전부 — 단, 백그라운드 안전 검사를 통과한 것만 | 긴 작업, 확인 피로 줄이기 |
| 미리 허용한 도구만 (나머지는 묻지 않고 거부) | CI·스크립트 등 무인 실행 |
| 전부 (안전 검사 없음) | ⚠️ 격리된 컨테이너·VM 전용 |
Shift+Tab 순환에 다 들어있지 않다
기본 순환은 default → acceptEdits → plan 세 개다.
auto— 계정 조건을 충족하면 순환에 추가로 등장bypassPermissions—claude --permission-mode bypassPermissions로 시작해야 순환에 등장dontAsk— 순환에 절대 안 나온다.--permission-mode dontAsk로만 지정
⭐ auto 모드 — 2026년의 핵심 변화
auto 모드란
"별도의 분류기(classifier) 모델이 Claude의 행동을 실행 직전에 검사해서, 위험한 것만 막고 나머지는 묻지 않고 통과시키는 모드"
매번 "허용하시겠습니까?"를 누르는 피로(prompt fatigue)를 없애면서도, bypassPermissions처럼 무방비가 되지는 않는다. 모든 요금제에서 사용 가능하다.
기본적으로 차단되는 것 | 기본적으로 허용되는 것 |
|---|---|
| 작업 폴더 안의 파일 조작 |
외부로 민감 정보 전송 | 락파일·매니페스트에 선언된 의존성 설치 |
프로덕션 배포·마이그레이션 | 읽기 전용 HTTP 요청 |
클라우드 저장소 대량 삭제 | 내가 시작한 브랜치로 push |
강제 푸시(force push) | |
| |
|
대화로 말한 경계도 지켜진다
"push 하지 마", "내가 검토할 때까지 배포하지 마"라고 말해두면 분류기가 그 말도 차단 신호로 읽는다. 다만 이건 대화 기록에서 읽는 것이라 컨텍스트 압축으로 사라질 수 있으니, 확실하게 막으려면 deny 규칙을 쓴다.
막히면 어떻게 되나
분류기가 연속 3회 또는 누적 20회 차단하면 auto 모드가 일시 중지되고 다시 확인을 묻기 시작한다.
🛡 보호 경로 (Protected Paths)
bypassPermissions를 제외한 모든 모드에서, 아래 경로에 쓰는 일은 절대 자동 승인되지 않는다. 저장소 상태와 Claude 자신의 설정이 사고로 망가지는 것을 막는 장치다.
.git,.claude,.vscode,.idea,.devcontainer등 디렉터리.gitconfig,.bashrc,.zshrc,.npmrc,.mcp.json등 파일
bypassPermissions는 이 방어선까지 끈다
그래서 격리 환경 전용이다. 확인은 줄이고 싶지만 안전은 지키고 싶다면 bypassPermissions가 아니라 auto를 쓴다.
권한 규칙 — 미리 허용·질문·거부하기
모드가 기본선이라면, 그 위에 규칙(rule)을 얹어 개별 도구를 조절한다. /permissions로 관리하거나 .claude/settings.json에 직접 적는다.
{
"permissions": {
"allow": [
"Bash(git status)",
"Bash(git diff:*)",
"Bash(npm run test:*)"
],
"ask": [
"Bash(git push:*)"
],
"deny": [
"Read(./.env)",
"Bash(rm -rf:*)"
]
}
}allow— 묻지 않고 허용 (안전한 읽기·조회 명령)ask— 어떤 모드에서든 반드시 묻게 만든다 (auto 모드에서도 강제)deny— 어떤 모드에서든 무조건 거부 (bypassPermissions에서도 유효)
가장 강력한 안전장치는 deny
대화로 말한 경계는 컨텍스트에서 사라질 수 있지만, deny 규칙은 항상 적용된다. 절대 건드리면 안 되는 것(운영 DB, .env, 배포 명령)은 규칙으로 막아라.
3. 플랜 모드 깊이 보기
플랜 모드란
"코드를 바로 고치지 않고, 먼저 '무엇을 할지 계획'만 세우게 하는 모드"
복잡한 작업을 시킬 때 AI가 곧장 파일을 수정하기 시작하면 통제가 어렵다. 플랜 모드는 읽기·조사만 허용하고, 실제 변경 전에 계획을 검토·승인하게 한다.
진입하는 두 가지 방법
방법 | 설명 |
|---|---|
| 모드를 순환해 플랜 모드로 전환 (다시 누르면 빠져나온다) |
| 이번 프롬프트 하나만 플랜 모드로 처리 |
| 아예 플랜 모드로 시작 |
계획을 받은 뒤 — 승인의 4갈래
계획이 준비되면 Claude가 어떻게 진행할지 묻는다. 여기서 바로 실행 모드를 고르는 것이 핵심이다.
선택 | 이후 동작 |
|---|---|
승인하고 auto 모드로 실행 | 안전 검사를 통과하는 한 묻지 않고 진행 |
승인하고 편집 자동 수락으로 실행 | 파일 편집은 자동, 나머지는 확인 |
승인하고 하나씩 검토 | 편집마다 확인 (가장 신중) |
계획을 더 다듬기 | 피드백을 주고 다시 계획 |
계획 자체를 손으로 고칠 수 있다
Ctrl + G를 누르면 제안된 계획이 에디터로 열린다. 계획의 잘못된 부분을 직접 지우거나 고친 뒤 진행시킬 수 있다.
플랜 모드가 빛나는 순간
"로그인 기능 전체를 리팩터링해줘" — 범위가 큰 작업
"이 버그의 원인을 먼저 분석하고 고칠 방법을 제안해줘" — 조사가 먼저 필요한 작업
코드베이스를 처음 탐색할 때 — 일단 구조 파악부터
권장 흐름
큰 작업 = 플랜 모드로 계획 확인 → 승인 → 실행. 작은 작업 = 바로 지시.
4. 되돌리기 — 체크포인트와 Rewind
작업이 잘못된 방향으로 갔을 때 이전 상태로 되돌리는 것이 바이브 코딩의 핵심 안전장치다. Claude Code는 3층 안전망을 제공한다.
층 | 방법 | 무엇을 되돌리나 |
|---|---|---|
1층 |
| 지금 하고 있는 작업을 중단 (지금까지 한 건 유지) |
2층 |
| 코드와 대화를 체크포인트로 복원 |
3층 | Git |
|
체크포인트(Checkpoint)란
Claude Code는 파일을 고칠 때마다 자동으로 스냅샷을 남긴다. 입력창이 빈 상태에서 Esc를 두 번 누르면 되돌리기 메뉴가 열리고, 어느 시점으로 돌아갈지 고를 수 있다.
"코드만", "대화만", "둘 다" 중에서 선택할 수 있다.
체크포인트는 Git을 대신하지 못한다
체크포인트는 세션 안의 안전망이다. 세션이 끝나거나 Claude Code 밖에서 파일이 바뀌면 기대대로 안 돌아갈 수 있다. 진짜 안전망은 Git 커밋이다.
되돌리기의 철학
"멀리 가서 크게 망가뜨리지 말고, 짧게 가서 자주 점검하라." 한 번에 완벽을 노리지 말고 작은 단위 → 검증 → (필요시) 되돌리기의 루프를 빠르게 돈다.
Git이 최고의 안전망
중요한 작업 전에는 항상 커밋해두자. "이거 망치면 git reset --hard로 돌아갈 수 있다"는 안정감이 과감한 실험을 가능하게 한다.
5. 세션 이어가기
터미널을 닫았다가 다시 켜도 이전 작업을 그대로 이어갈 수 있다.
명령 | 기능 |
|---|---|
| 가장 최근 세션을 바로 이어서 시작 |
| 과거 세션 목록에서 선택해 재개 |
| 세션 도중에 과거 세션으로 전환 |
끊겨도 괜찮다
/clear로 비웠던 대화도 저장되어 있어 /resume로 되살릴 수 있다.
6. 컨텍스트 윈도우 관리
컨텍스트 윈도우란
"AI가 한 번에 기억하고 참고할 수 있는 대화·코드의 총량" (개념은 Part 4 참고)
대화가 길어질수록 컨텍스트가 쌓이고, 한도에 가까워지면 응답 품질이 떨어진다. 그래서 무엇이 컨텍스트를 차지하는지 보고, 적절히 비우거나 압축하는 관리가 중요하다.
명령어 | 기능 |
|---|---|
| 현재 컨텍스트를 항목별로 시각화 (시스템 프롬프트·도구·대화 등) + 최적화 제안 |
| 대화 기록을 요약으로 압축해 공간 확보 |
| 압축 시 무엇을 우선 보존할지 지정 (예: |
| 컨텍스트를 비우고 새로 시작 (이전 대화는 저장돼 |
자동 압축 (auto-compact)
한도에 가까워지면 Claude Code가 자동으로 압축하므로, 컨텍스트가 꽉 차도 세션이 갑자기 끊기지 않는다. 시스템 프롬프트·CLAUDE.md·메모리 등 핵심 맥락은 유지된다.
언제 무엇을?
현재 사용량이 궁금 →
/context주제가 완전히 바뀜 →
/clear(깨끗하게 새 출발)같은 작업을 길게 이어가는데 컨텍스트가 꽉 참 →
/compact(맥락 유지하며 압축)
7. 생각을 더 깊게 — 확장 사고와 /effort
어려운 문제는 AI에게 더 오래 생각하게 만들 수 있다. AI가 답을 내기 전에 속으로 추론하는 것을 확장 사고(extended thinking)라 하고, 여기에 얼마나 많은 자원을 쓸지를 노력 수준(effort)으로 조절한다.
조절하는 두 가지 방법
방법 | 동작 |
|---|---|
| 노력 수준을 단계로 지정 |
| 확장 사고 켜기/끄기 토글 |
/effort 단계
단계 | 사고량 | 언제 |
|---|---|---|
| 최소 | 단순 반복 작업, 빠른 응답이 중요할 때 |
| 보통 | 일상 작업 |
| 많이 | 까다로운 버그, 설계 판단 |
| 매우 많이 | 어려운 디버깅, 아키텍처 결정 |
| 최대 | 가장 어려운 문제 (비용·시간 최대) |
언제 올리나
복잡한 동시성 버그의 원인 추적
아키텍처 설계와 트레이드오프 판단
원인이 여러 겹으로 얽힌 문제
남용은 금물
쉬운 작업에까지 최대 노력을 쓰면 응답만 느려지고 토큰을 더 쓴다. 기본값으로 두고, 막히는 문제에서만 올린다.
'ultrathink' 같은 매직 키워드는?
예전에는 프롬프트에 think·ultrathink 같은 단어를 넣어 사고량을 올린다는 이야기가 널리 퍼졌다. 하지만 현재 공식 문서가 안내하는 방식은 /effort 명령어와 Alt+T 토글이다. 프롬프트에 마법 단어를 심는 대신 명령어로 명시적으로 조절하는 편이 확실하다.
8. 자주 쓰는 실전 워크플로우
① 탐색 → 계획 → 구현 → 검증
flowchart LR
E[탐색<br/>코드베이스 파악] --> P[계획<br/>플랜 모드]
P --> I[구현<br/>작은 단위로]
I --> V[검증<br/>테스트·실행]
V -->|반복| I
style E fill:#e3f2fd
style P fill:#f3e5f5
style I fill:#fff3e0
style V fill:#e8f5e9새 코드베이스에서 일할 때의 기본기. 먼저 읽게 하고(탐색), 계획을 세우게 하고(플랜 모드), 작게 구현하고, 바로 검증한다.
② 테스트 주도 (TDD)
AI에게 시키는 TDD
"이 기능의 테스트를 먼저 작성해줘 (아직 구현은 하지 마)"
테스트가 실패하는 걸 확인
"이제 이 테스트를 통과하는 코드를 작성해줘"
모든 테스트 통과까지 반복
테스트가 명확한 목표가 되어 AI가 헤매지 않는다.
③ 스크린샷·이미지로 지시
디자인 시안이나 에러 화면을 이미지로 붙여넣어 지시할 수 있다.
방법 | 동작 |
|---|---|
이미지 붙여넣기 | 클립보드 이미지를 프롬프트에 |
파일 경로 참조 |
|
활용
"[디자인 시안 이미지] 이 화면처럼 만들어줘" / "[에러 스크린샷] 이 오류 고쳐줘"
④ Git 커밋·PR 자동화
"변경사항을 적절한 메시지로 커밋하고 PR 올려줘"Claude Code가 git diff로 변경을 분석하고, 컨벤션에 맞는 메시지를 작성하고, 커밋·푸시·PR 생성까지 한 번에 처리한다. (Part 7의 /commit 커스텀 명령어와 함께 쓰면 더 좋다.)
9. 백그라운드 작업
오래 걸리는 명령(개발 서버, 빌드, 테스트 워치)은 백그라운드로 실행해두고 다른 작업을 이어갈 수 있다.
단축키 / 명령 | 동작 |
|---|---|
| 실행 중인 명령·에이전트를 백그라운드로 전환 (tmux 사용 시 두 번 누름) |
| 지금 백그라운드에서 도는 것 — 셸·서브에이전트 목록 |
| Claude의 할 일 체크리스트 표시 토글 (백그라운드 작업 목록이 아님) |
"백그라운드 작업 중단해줘" | Claude에게 직접 요청해 출력 확인·중단 |
헷갈리기 쉬운 두 가지
Ctrl + T→ Claude가 스스로 세운 할 일 체크리스트(무엇을 하려고 계획 중인가)/tasks→ 실제로 돌고 있는 백그라운드 프로세스(무엇이 지금 실행 중인가)
"지금 뭐가 돌고 있지?"의 답은 /tasks다.
예시
"개발 서버를 백그라운드로 띄워줘" → 서버가 도는 동안 코드 수정을 계속 지시할 수 있고, AI는 서버 로그를 보면서 에러를 잡는다.
출력은 파일로 기록된다
백그라운드 작업은 고유 ID로 관리되고 출력이 파일에 쌓인다. Claude가 필요할 때 그 파일을 읽어 결과를 확인하고 이어서 처리한다. Claude Code를 종료하면 백그라운드 작업도 함께 정리된다.
곁다리 질문 — /btw
긴 작업이 도는 중에 "아 그 설정 파일 이름이 뭐였지?" 같은 질문이 떠오를 때가 있다. 그냥 물어보면 대화 기록이 지저분해지고 Claude가 하던 일에서 새어나간다.
/btw는 대화 기록에 남지 않는 곁다리 질문이다.
/btw 아까 그 설정 파일 이름이 뭐였지?현재 대화 내용을 다 보고 답한다 (지금까지 읽은 코드·내린 결정 포함)
답변은 떠 있는 창에만 뜨고 대화 기록에 들어가지 않는다
Claude가 일하는 중에도 물어볼 수 있다 (하던 작업을 방해하지 않는다)
단, 도구를 못 쓴다 — 이미 컨텍스트에 있는 것만으로 답한다
포그라운드 작업을 넘기는 흐름
시간이 오래 걸리는 작업이 포그라운드로 실행 중일 때도, 끝날 때까지 기다릴 필요 없이 백그라운드로 넘기고 일을 이어갈 수 있다.
flowchart LR
A[긴 작업<br/>포그라운드 실행 중] -->|Ctrl + B| B[백그라운드로 전환]
B --> C[다른 작업<br/>병행 진행]
B -.->|작업 완료 시| D[🔔 완료 알림]
D --> E[결과 확인·이어서 처리]
style A fill:#fff3e0
style B fill:#e3f2fd
style C fill:#f3e5f5
style D fill:#e8f5e9
style E fill:#e8f5e9Ctrl + B로 전환 — 실행 중인 작업을 백그라운드로 넘긴다다른 작업 병행 — 프롬프트가 바로 풀려 새 지시를 계속할 수 있다
완료 시 알림 — 작업이 끝나면 알림이 와서 Claude가 결과(출력·종료 코드)를 확인하고 이어서 처리한다
출력 확인 & 종료
백그라운드 작업은 고유 ID로 관리되고 출력은 파일로 기록된다. /bashes 같은 전용 슬래시 명령은 없으며, /tasks로 목록을 보거나 Claude에게 직접 요청해 출력을 보거나 종료한다.
10. 안전하게 쓰는 5가지 원칙
체크리스트
Git으로 관리하라 — 되돌릴 수 있어야 과감해진다
큰 작업은 플랜 모드로 — 실행 전 계획을 본다
작게 쪼개고 자주 검증하라 — 멀리 가서 망가뜨리지 않는다
확인을 줄이고 싶으면
bypassPermissions가 아니라auto— 안전 검사를 끄지 마라결과 검증은 사람의 몫 — AI는 도구, 판단은 내가
절대 건드리면 안 되는 것은 deny 규칙으로
대화로 "운영 DB는 건드리지 마"라고 말해두는 것과, settings.json의 deny 규칙에 적어두는 것은 강도가 다르다. 말은 컨텍스트가 압축되면 사라질 수 있지만, 규칙은 항상 적용된다.
정리
명령어는 슬래시(
/), 입력 기호(@#!), 단축키로 나뉜다 —/만 쳐도 목록이 뜬다6가지 권한 모드 —
default(Manual) ·acceptEdits·plan·auto·dontAsk·bypassPermissions.Shift+Tab으로 순환(기본 3개)auto모드가 핵심 — 분류기가 위험한 것만 막고 나머지는 묻지 않는다. 확인 피로를 줄이면서 안전은 지킨다보호 경로(
.git·.claude등)는bypassPermissions를 빼면 어떤 모드에서도 자동 승인되지 않는다규칙은
allow(묻지 않음) ·ask(반드시 물음) ·deny(무조건 거부) 3종플랜 모드는
Shift+Tab또는/plan으로 진입하고, 승인할 때 실행 모드를 함께 고른다되돌리기는 3층 —
Esc(중단) →Esc Esc·/rewind(체크포인트) → Git(진짜 안전망)--continue·--resume으로 세션을 이어간다컨텍스트는
/context로 확인하고/compact·/clear로 관리한다 (한도 근처에선 자동 압축)사고 깊이는
/effort와Alt+T로 조절한다 (매직 키워드가 아니다)오래 걸리는 작업은
Ctrl+B로 백그라운드,/tasks로 확인 (Ctrl+T는 할 일 체크리스트)핵심 무기는 탐색→계획→구현→검증 루프와 TDD·이미지 지시·Git 자동화 워크플로우
다음 장에서는 이 모든 걸 종합해 실전 프로젝트를 직접 만든다.