개요
헤드리스 모드를 사용하면 대화형 UI 없이 명령줄 스크립트 및 자동화 도구에서 프로그래밍 방식으로 Claude Code를 실행할 수 있습니다.기본 사용법
Claude Code의 주요 명령줄 인터페이스는claude 명령입니다. --print(또는 -p) 플래그를 사용하여 비대화형 모드에서 실행하고 최종 결과를 출력합니다:
구성 옵션
헤드리스 모드는 Claude Code에서 사용 가능한 모든 CLI 옵션을 활용합니다. 자동화 및 스크립팅을 위한 주요 옵션은 다음과 같습니다:| 플래그 | 설명 | 예제 |
|---|---|---|
--print, -p | 비대화형 모드에서 실행 | claude -p "query" |
--output-format | 출력 형식 지정 (text, json, stream-json) | claude -p --output-format json |
--resume, -r | 세션 ID로 대화 재개 | claude --resume abc123 |
--continue, -c | 가장 최근 대화 계속 | claude --continue |
--verbose | 상세 로깅 활성화 | claude --verbose |
--append-system-prompt | 시스템 프롬프트에 추가 (--print만 사용 가능) | claude --append-system-prompt "Custom instruction" |
--allowedTools | 공백으로 구분된 허용 도구 목록 또는 쉼표로 구분된 허용 도구 목록 문자열 | claude --allowedTools mcp__slack mcp__filesystemclaude --allowedTools "Bash(npm install),mcp__filesystem" |
--disallowedTools | 공백으로 구분된 거부 도구 목록 또는 쉼표로 구분된 거부 도구 목록 문자열 | claude --disallowedTools mcp__splunk mcp__githubclaude --disallowedTools "Bash(git commit),mcp__github" |
--mcp-config | JSON 파일에서 MCP 서버 로드 | claude --mcp-config servers.json |
--permission-prompt-tool | 권한 프롬프트 처리를 위한 MCP 도구 (--print만 사용 가능) | claude --permission-prompt-tool mcp__auth__prompt |
다중 턴 대화
다중 턴 대화의 경우 대화를 재개하거나 가장 최근 세션에서 계속할 수 있습니다:출력 형식
텍스트 출력 (기본값)
JSON 출력
메타데이터를 포함한 구조화된 데이터를 반환합니다:스트리밍 JSON 출력
수신되는 각 메시지를 스트리밍합니다:init 시스템 메시지로 시작하고, 사용자 및 어시스턴트 메시지 목록이 뒤따르며, 통계가 포함된 최종 result 시스템 메시지로 끝납니다. 각 메시지는 별도의 JSON 객체로 내보내집니다.
입력 형식
텍스트 입력 (기본값)
스트리밍 JSON 입력
stdin을 통해 제공되는 메시지 스트림으로, 각 메시지는 사용자 턴을 나타냅니다. 이를 통해 claude 바이너리를 다시 시작하지 않고도 여러 턴의 대화가 가능하며, 모델이 요청을 처리하는 동안 지침을 제공할 수 있습니다.
각 메시지는 JSON ‘사용자 메시지’ 객체이며, 출력 메시지 스키마와 동일한 형식을 따릅니다. 메시지는 jsonl 형식을 사용하여 포맷되며, 입력의 각 줄은 완전한 JSON 객체입니다. 스트리밍 JSON 입력에는 -p 및 --output-format stream-json이 필요합니다.
에이전트 통합 예제
SRE 인시던트 대응 봇
자동화된 보안 검토
다중 턴 법률 어시스턴트
모범 사례
-
JSON 출력 형식 사용 응답의 프로그래밍 방식 파싱:
-
오류를 우아하게 처리 - 종료 코드 및 stderr 확인:
- 세션 관리 사용 다중 턴 대화에서 컨텍스트 유지
-
장시간 실행되는 작업에 대한 타임아웃 고려:
- 여러 요청을 할 때 속도 제한 준수 호출 간에 지연 추가
관련 리소스
- CLI 사용 및 제어 - 완전한 CLI 문서
- 일반적인 워크플로우 - 일반적인 사용 사례에 대한 단계별 가이드