Claude Code 공식문서 리뷰-참고자료(Reference)[1] : CLI 참고 자료(CLI reference)
- -
안녕하세요! 갓대희입니다.
Claude Code Docs 공식 문서 >> [참고자료(Reference)] 섹션의 내용 중 [CLI 참고 자료(CLI reference)]를 살펴 보려고 합니다.
이번 섹션 부터는 영문, 한글번역본이 모두 공식문서로 존재하는 섹션이니 한글 문서를 편하게 참고 하셔도 될 것 같습니다.
https://code.claude.com/docs/ko/cli-reference
CLI 참고 자료 - Claude Code Docs
Claude Code 명령줄 인터페이스의 완전한 참고 자료로, 명령어와 플래그를 포함합니다.
code.claude.com
이 카테고리의 글은 편하게 공식 문서 위주의 내용을 눈으로 쭉 살펴 보고 넘어가는 목적을 갖고 시작 하게 되었습니다.
저도 초심으로 돌아가 기초적읜 글을 살펴보다보니, 지금와서 클로드에서 강조 하고자 하는 원칙이 어떤건지 되돌아볼 수 있는 계기가 되기도 하는 것 같아, 다른 분들도 꼭 한번 눈으로라도 이해 하고 넘어가는것이 좋다고 생각하여 공식 문서의 내용을 억지로 리뷰해보게 되었습니다.

Claude Code는 터미널에서 바로 실행하는 명령줄 도구다. GUI 없이 터미널만으로 코드 작성, 분석, 리뷰를 할 수 있고, 자동화 스크립트나 CI/CD 파이프라인에 통합할 수 있다는 것이 큰 장점이다.
터미널에서 텍스트 명령으로 프로그램을 제어하는 인터페이스다. GUI(그래픽 사용자 인터페이스)와 달리 마우스 클릭 대신 명령어 입력으로 모든 작업을 수행한다.
- 터미널 작업 중 IDE를 열지 않고 빠르게 코드 질문
- CI/CD 파이프라인에서 자동 코드 리뷰
- SSH 원격 서버에서 코드 분석
- 여러 프로젝트를 오가며 작업할 때
- JSON 출력으로 다른 도구와 연동
시작하기 전에 알아둘 것
CLI를 본격적으로 사용하기 전에 몇 가지 기본 개념을 이해하면 훨씬 수월하다.
필수 준비물- Claude Code 설치 완료
-> 터미널에서claude --version실행하면 확인 가능 - 인증 완료
-> Anthropic 계정 로그인 또는 API 키/Vertex AI/Bedrock 설정
| REPL | Read-Eval-Print Loop. 명령을 입력하면 바로 결과를 보여주는 대화형 환경. claude만 실행하면 REPL 모드로 진입한다. |
| Print 모드 | -p 플래그를 사용하면 응답만 출력하고 바로 종료. 스크립트 자동화에 필수적이다. |
| 세션 | 대화의 맥락이 저장되는 단위. 세션 ID로 이전 대화를 이어갈 수 있다. |
| 서브에이전트 | 특정 작업에 특화된 보조 에이전트. 코드 리뷰, 디버깅 등 전문 역할을 맡길 수 있다. |
상황별 사용 가이드 - 이럴 땐 이렇게
자신의 상황에 맞는 명령어를 찾아보자. 대부분의 경우 2-3개 명령어만 알면 충분하다.
가장 기본적인 사용법. 터미널에서 바로 대화를 시작한다.
# 대화형 모드로 시작 (가장 기본)
claude
# 질문과 함께 시작
claude "이 프로젝트가 뭘 하는 건지 설명해줘"
-> 대화형 모드에서 /help를 입력하면 사용 가능한 명령어를 볼 수 있다.
대화를 이어갈 필요 없이 한 번만 물어보고 싶을 때. Print 모드(-p)를 사용한다.
# 질문하고 응답만 받기
claude -p "Git에서 마지막 커밋 취소하는 방법"
# 파일 내용을 분석해달라고 하기
cat error.log | claude -p "이 에러 원인이 뭐야?"
# 코드 파일 설명 요청
cat src/main.py | claude -p "이 코드가 뭘 하는지 설명해줘"
터미널을 닫았다가 다시 열어도 이전 대화를 계속할 수 있다.
# 가장 최근 대화 계속하기 (가장 많이 씀)
claude -c
# 특정 세션 이름으로 재개
claude -r "auth-refactor"
# 세션 재개하면서 질문 추가
claude -r "auth-refactor" "아까 그 함수에 에러 처리 추가해줘"
-> 세션 목록은 대화형 모드에서 /sessions로 확인 가능
JSON 출력과 Print 모드를 조합하면 자동화가 가능하다.
# JSON 형식으로 출력 (파싱하기 좋음)
claude -p "코드 분석해줘" --output-format json
# 권한 프롬프트 건너뛰기 (자동화 환경용)
claude -p --dangerously-skip-permissions "테스트 실행해줘"
# 특정 도구만 사용하도록 제한
claude -p --tools "Read,Grep,Glob" "이 코드에서 TODO 찾아줘"
# 턴 수 제한 (무한 루프 방지)
claude -p --max-turns 5 "버그 찾아서 고쳐줘"
복잡한 추론이 필요하면 Opus, 빠른 응답이 필요하면 Haiku를 선택할 수 있다.
# Opus 모델 사용 (가장 강력, 비용 높음)
claude --model opus
# 별칭으로 간단히
claude --model sonnet # 기본값
# 폴백 모델 지정 (기본 모델 과부하 시)
claude -p --fallback-model sonnet "복잡한 분석"
기본 명령어 레퍼런스
아래 표에서 자주 쓰는 명령어 위주로 익혀두자.
| 명령어 | 설명 | 예시 |
|---|---|---|
claude |
대화형 REPL 시작 | claude |
claude "질문" |
초기 프롬프트와 함께 REPL 시작 | claude "이 프로젝트 설명해줘" |
claude -p "질문" |
Print 모드: 응답 출력 후 종료 | claude -p "함수 설명해줘" |
cat file | claude -p |
파이프된 콘텐츠 처리 | cat logs.txt | claude -p "설명해줘" |
claude -c |
가장 최근 대화 계속하기 | claude -c |
claude -r "세션" |
ID나 이름으로 세션 재개 | claude -r "auth-refactor" |
claude update |
최신 버전으로 업데이트 | claude update |
claude mcp |
MCP 서버 설정 | MCP 문서 참조 |
핵심 플래그 상세
세션 관리 플래그
Claude Code는 대화 내용을 세션 단위로 저장한다. 터미널을 닫아도 세션은 유지되며, 나중에 -c나 -r로 다시 이어갈 수 있다.
| 플래그 | 설명 |
|---|---|
--continue, -c |
현재 디렉토리에서 가장 최근 대화 불러오기 |
--resume, -r |
ID나 이름으로 특정 세션 재개 |
--session-id |
특정 세션 ID 사용 (유효한 UUID 필요) |
--fork-session |
원본 세션 유지하면서 새 세션으로 분기 (--resume/--continue와 함께) |
# 세션 재개 기본 예시
claude --resume auth-refactor
# 세션 재개하면서 질문 추가
claude --resume auth-refactor "타입 에러 고쳐줘"
# 대화를 새 세션으로 분기 (원본은 그대로 유지)
claude --resume abc123 --fork-session
--fork-session은 "이 시점에서 다른 방향으로 시도해보고 싶을 때" 유용하다. 원본 대화는 그대로 남아있어서 나중에 비교할 수 있다.
모델 설정 플래그
| 플래그 | 설명 |
|---|---|
--model |
세션용 모델 설정 (별칭: sonnet, opus, 또는 전체 모델명) |
--fallback-model |
기본 모델 과부하 시 자동 폴백 (print 모드 전용) |
# Opus 모델 사용 (가장 강력)
claude --model opus
# 전체 모델명으로 지정
claude --model claude-sonnet-4-5-20250929
# 폴백 모델 지정 (print 모드)
claude -p --fallback-model sonnet "복잡한 분석 수행"
| Sonnet (기본) | 대부분의 코딩 작업에 적합. 속도와 품질의 균형이 좋다. -> 일상적인 개발 작업, 코드 작성, 리팩토링 |
| Opus | 복잡한 추론과 분석에 강하다. 비용이 더 높다. -> 아키텍처 설계, 복잡한 버그 분석, 대규모 리팩토링 |
| Haiku | 가장 빠르고 저렴하다. 간단한 작업에 적합. -> 파일 탐색, 간단한 검색, 빠른 응답 필요 시 |
출력 모드 플래그
| 플래그 | 설명 |
|---|---|
--print, -p |
대화형 모드 없이 응답 출력 후 종료 |
--output-format |
출력 형식: text, json, stream-json |
--input-format |
입력 형식: text, stream-json |
--verbose |
상세 로깅 및 턴별 출력 활성화 |
--include-partial-messages |
부분 스트리밍 이벤트 포함 (stream-json과 함께) |
# 텍스트 출력 (기본)
claude -p "질문"
# JSON 출력 (스크립트 파싱용)
claude -p "query" --output-format json
# 스트리밍 JSON + 부분 메시지
claude -p "query" --output-format stream-json --include-partial-messages
도구 및 권한 플래그
Claude Code가 파일을 읽고(Read), 수정하고(Edit), 명령을 실행(Bash)하는 등의 기능을 "도구"라고 한다. 보안을 위해 도구 사용을 제한하거나 허용할 수 있다.
도구 제어 플래그
| 플래그 | 설명 |
|---|---|
--tools |
사용 가능한 도구 지정: "" (없음), "default" (전체), 또는 도구명 |
--allowedTools |
권한 프롬프트 없이 실행할 도구 (자동 허용) |
--disallowedTools |
완전히 비활성화할 도구 (컨텍스트에서 제거) |
# 읽기 전용으로 제한 (안전한 탐색)
claude -p --tools "Read,Grep,Glob" "이 코드 분석해줘"
# 특정 git 명령만 자동 허용
claude --allowedTools "Bash(git log:*)" "Bash(git diff:*)" "Read"
# 위험한 명령 비활성화
claude --disallowedTools "Bash(rm:*)" "Bash(sudo:*)"
Read- 파일 읽기Edit- 파일 수정Write- 파일 생성Bash- 셸 명령 실행Grep- 패턴 검색Glob- 파일 찾기
권한 모드 플래그
| 플래그 | 설명 |
|---|---|
--permission-mode |
지정된 권한 모드로 시작 (예: plan) |
--dangerously-skip-permissions |
모든 권한 프롬프트 건너뛰기 |
--permission-prompt-tool |
비대화형 모드에서 권한 처리할 MCP 도구 |
이 플래그는 모든 권한 확인을 건너뛴다. 신뢰할 수 있는 환경(샌드박스, CI/CD)에서만 사용하고, 중요한 시스템에서는 절대 사용하지 말자.
시스템 프롬프트 플래그
Claude의 기본 동작 방식을 정의하는 지침이다. "항상 TypeScript를 사용해라", "코드에 주석을 꼭 달아라" 같은 규칙을 설정할 수 있다.
| 플래그 | 동작 | 모드 | 사용 사례 |
|---|---|---|---|
--append-system-prompt |
기본에 추가 | 대화형 + Print | 기능 유지하며 지침 추가 (권장) |
--system-prompt |
기본 전체 교체 | 대화형 + Print | 완전한 제어가 필요할 때 |
--system-prompt-file |
파일로 교체 | Print 전용 | 재현성 있는 자동화 |
# 가장 많이 쓰는 방법: 기존 기능 유지하면서 지침 추가
claude --append-system-prompt "항상 TypeScript를 사용하고 JSDoc 주석을 포함해"
# 완전히 새로운 페르소나로
claude --system-prompt "당신은 Python 전문가입니다. 타입 힌트를 항상 사용합니다."
# 파일에서 로드 (CI/CD에서 유용)
claude -p --system-prompt-file ./prompts/code-review.txt "이 PR 리뷰해줘"
대부분의 경우: --append-system-prompt 사용
-> Claude Code의 기본 기능(파일 읽기, 코드 분석 등)이 유지되면서 추가 지침만 적용된다.
완전한 제어 필요시: --system-prompt 또는 --system-prompt-file
-> 기본 프롬프트가 완전히 대체되므로 필요한 모든 지침을 직접 작성해야 한다.
커스텀 에이전트 (서브에이전트)
특정 작업에 전문화된 보조 에이전트다. 예를 들어 "코드 리뷰 전문가", "디버깅 전문가" 같은 역할을 정의해서 사용할 수 있다. 반복적인 작업에 일관된 품질을 유지하는 데 유용하다.
--agents 플래그는 커스텀 서브에이전트를 정의하는 JSON 객체를 받는다:
{
"code-reviewer": {
"description": "코드 리뷰 전문가. 코드 변경 후 사전에 사용.",
"prompt": "당신은 시니어 코드 리뷰어입니다. 코드 품질, 보안, 모범 사례에 집중하세요.",
"tools": ["Read", "Grep", "Glob", "Bash"],
"model": "sonnet"
},
"debugger": {
"description": "에러 및 테스트 실패 전문 디버거.",
"prompt": "당신은 전문 디버거입니다. 에러를 분석하고 근본 원인을 파악해 해결책을 제시하세요."
}
}
필드 설명
| 필드 | 필수 | 설명 |
|---|---|---|
description |
필수 | 서브에이전트를 언제 호출할지 설명 |
prompt |
필수 | 동작을 안내하는 시스템 프롬프트 |
tools |
선택 | 사용할 도구 배열 (생략 시 모든 도구 상속) |
model |
선택 | 모델 별칭: sonnet, opus, haiku |
- 코드 리뷰어: PR 전에 자동으로 코드 품질 체크
- 테스트 작성자: 새 함수에 대한 테스트 케이스 생성
- 문서 작성자: 코드에 JSDoc/docstring 추가
- 보안 감사자: 보안 취약점 스캔
기타 유용한 플래그
MCP 설정
| 플래그 | 설명 |
|---|---|
--mcp-config |
JSON 파일에서 MCP 서버 로드 |
--strict-mcp-config |
--mcp-config의 MCP 서버만 사용 |
환경 및 연결
| 플래그 | 설명 |
|---|---|
--add-dir |
추가 작업 디렉토리 추가 (다중 프로젝트 작업 시) |
--chrome / --no-chrome |
Chrome 브라우저 연동 활성화/비활성화 |
--ide |
유효한 IDE가 있으면 시작 시 자동 연결 |
--settings |
설정 JSON 파일 경로 |
--plugin-dir |
플러그인 디렉토리 로드 (반복 가능) |
디버그 및 고급
| 플래그 | 설명 |
|---|---|
--debug |
디버그 모드 (카테고리 필터링 가능: "api,mcp") |
--enable-lsp-logging |
상세 LSP 로깅 (~/.claude/debug/에 저장) |
--max-turns |
에이전트 턴 수 제한 (무한 루프 방지) |
--json-schema |
JSON 스키마에 맞는 구조화 출력 (print 모드) |
--betas |
베타 기능 헤더 (API 키 사용자용) |
-v, --version |
버전 번호 출력 |
# 카테고리별 디버그
claude --debug "api,hooks"
# 특정 카테고리 제외
claude --debug "!statsig,!file"
# 여러 디렉토리에서 작업
claude --add-dir ../apps ../lib
# JSON 스키마로 구조화된 출력
claude -p --json-schema '{"type":"object","properties":{"bugs":{"type":"array"}}}' "버그 목록 추출"
실전 워크플로우 예시
CLI 플래그를 조합해서 실제 개발 워크플로우에 활용하는 예시들이다.
워크플로우 1: 코드 리뷰 자동화
# Git diff를 Claude에게 전달해서 리뷰
git diff main | claude -p "이 변경사항을 리뷰해줘. 버그, 보안 이슈, 개선점을 찾아줘"
# JSON 출력으로 CI/CD 파이프라인에서 파싱
git diff main | claude -p \
--output-format json \
--max-turns 5 \
"코드 리뷰하고 issues 배열로 반환해"
워크플로우 2: 에러 로그 분석
# 에러 로그 분석
cat error.log | claude -p "이 에러의 원인과 해결책을 알려줘"
# 최근 100줄만 분석
tail -100 app.log | claude -p "에러 패턴을 찾아서 요약해줘"
워크플로우 3: 커스텀 에이전트로 보안 감사
# 보안 감사 에이전트 정의
claude \
--agents '{"security":{"description":"보안 취약점 탐지","prompt":"OWASP Top 10 기준으로 취약점을 찾아라","tools":["Read","Grep","Glob"]}}' \
"src/ 디렉토리 보안 점검해줘"
워크플로우 4: 프로젝트별 환경 설정
# 프로젝트별 설정 파일 사용
claude \
--settings ./project-settings.json \
--mcp-config ./mcp-servers.json \
--append-system-prompt "이 프로젝트는 React + TypeScript 스택이다" \
"개발 시작"
워크플로우 5: 셸 스크립트로 래핑
#!/bin/bash
# review.sh - 코드 리뷰 자동화
echo "코드 리뷰를 시작합니다..."
git diff main | claude -p \
--model sonnet \
--output-format text \
--tools "Read,Grep,Glob" \
"변경된 코드를 리뷰하고, 문제점과 개선 제안을 해줘"
문제 해결 - 자주 겪는 문제
아래 체크리스트를 순서대로 확인해보자.
문제 1: "command not found: claude"
claude 명령어를 찾을 수 없다는 에러
- 설치 확인
npm list -g @anthropic-ai/claude-code - PATH 확인
echo $PATH | tr ':' '\n' | grep npm - 재설치
npm install -g @anthropic-ai/claude-code
문제 2: "Permission denied" 에러가 계속 뜸
매번 권한 확인 프롬프트가 뜨거나, 자동화 스크립트가 멈춤
해결 방법- 신뢰할 수 있는 도구 허용
claude --allowedTools "Read" "Grep" "Glob" "질문" - 자동화 환경에서 (주의해서 사용)
claude -p --dangerously-skip-permissions "질문"
문제 3: 세션을 찾을 수 없음
-c나 -r로 세션 재개가 안 됨
- 세션 목록 확인
# 대화형 모드에서 /sessions - 작업 디렉토리 확인
-> 세션은 디렉토리별로 저장된다. 같은 디렉토리에서 실행하는지 확인
문제 4: JSON 출력이 파싱이 안 됨
--output-format json으로 받은 결과가 올바른 JSON이 아님
- JSON 스키마로 출력 강제
claude -p --json-schema '{"type":"object","properties":{"result":{"type":"string"}}}' "질문" - jq로 필터링
claude -p "질문" --output-format json | jq '.result'
핵심 요약 - 빠른 참조 체크리스트
claude- 대화 시작claude -p "질문"- 빠른 질문claude -c- 이전 대화 계속cat file | claude -p "분석해줘"- 파일 분석claude update- 업데이트
| 목적 | 명령어 |
|---|---|
| 대화 시작 | claude 또는 claude "질문" |
| 빠른 질문 (종료) | claude -p "질문" |
| 이전 대화 계속 | claude -c |
| 특정 세션 재개 | claude -r "세션이름" |
| 파일 분석 | cat file | claude -p "분석해줘" |
| JSON 출력 | claude -p "질문" --output-format json |
| 모델 변경 | claude --model opus |
| 읽기 전용 모드 | claude -p --tools "Read,Grep,Glob" "분석해줘" |
| 지침 추가 | claude --append-system-prompt "항상 TypeScript 사용" |
| 자동화 (권한 스킵) | claude -p --dangerously-skip-permissions "질문" |
관련 문서
| 문서 | 설명 |
|---|---|
| 대화형 모드 | 키보드 단축키, 슬래시 명령어, UI 기능 |
| 슬래시 명령 | /help, /clear, /sessions 등 세션 내 명령어 |
| Settings | 설정 파일 구조 및 옵션 |
| MCP | Model Context Protocol 서버 설정 |
| 서브에이전트 | 커스텀 에이전트 시스템 상세 |
'AI > Claude Code Doc(공식문서) 번역본' 카테고리의 다른 글
당신이 좋아할만한 콘텐츠
-
Claude Code 공식문서 리뷰-참고자료(Reference)[3] : 슬래시 명령어(Slash commands) 2026.01.07
-
Claude Code 공식문서 리뷰-참고자료(Reference)[2] : 대화형 모드(Interactive mode) 2026.01.07
-
Claude Code 공식문서 리뷰-Configuration[5] : 상태 줄 구성(Status line configuration) 2026.01.05
-
Claude Code 공식문서 리뷰-Configuration[4] : Claude의 메모리 관리(Manage Claude's memory) 2026.01.05
소중한 공감 감사합니다