Headless and team operations
1. 헤드리스 실행 계약1 / 9

재현되지 않는 스크립트의 진짜 원인

`claude -p`의 기본 로드 범위와 `--bare`가 바꾸는 것

Concept 45 XP 9 min

로컬에서 완벽하게 돌던 claude -p 스크립트가 동료 머신이나 CI 러너에서 다른 결과를 냅니다. 원인은 모델의 변덕이 아니라 무엇이 로드되었는지가 머신마다 달랐다는 사실입니다. -p는 실행을 비대화형으로 바꿀 뿐, 작업 디렉토리와 ~/.claude의 hooks·skills·plugins·MCP 서버·CLAUDE.md를 대화형 세션과 똑같이 자동 검색합니다. --bare는 이 자동 검색을 전부 건너뛰어 시작을 가볍게 하고, 필요한 컨텍스트만 --settings·--mcp-config·--append-system-prompt로 코드에 적히게 만듭니다. 헤드리스 설계의 첫 결정은 프롬프트 문구가 아니라 로드 범위를 누가 통제하느냐입니다.

실행 방식로드되는 것이 방식을 고르는 때
claude -p 기본대화형과 동일한 전체 자동 검색로컬 스크립트, 프로젝트 설정이 필요할 때
claude --bare -p자동 검색 생략, Bash·읽기·편집만CI·스크립트, 머신 간 동일 결과가 필요할 때
claude --safe-mode인증·모델·권한 유지, 커스터마이즈만 해제hook·plugin 문제를 좁혀 진단할 때
--setting-sources user사용자 설정만, 프로젝트 스킬 차단프로젝트 설정만 배제하고 싶을 때
재현성 문제는 컨텍스트를 더 주는 방향이 아니라 로드를 통제하는 방향으로 풉니다.
  1. 로드 목록 적기지금 호출이 어떤 hooks·skills·MCP·CLAUDE.md를 끌어오는지 먼저 나열합니다.
  2. 자동 검색 끊기CI·스크립트 호출을 claude --bare -p 형태로 바꿔 로드를 0에서 시작합니다.
  3. 필요한 것만 주입--settings·--mcp-config·--append-system-prompt·--agents로 실제 필요한 컨텍스트만 되돌립니다.
  4. 인증 경로 확인--bare는 OAuth와 키체인을 건너뛰므로 ANTHROPIC_API_KEY나 apiKeyHelper로 키를 공급합니다.