claudecode.to
문서 목록
설정과 커스터마이즈

settings.json 설정

권한 허용 목록, 환경 변수, 모델 선택 등 하네스 동작을 파일로 고정하는 방법.

6분2026-07-13 갱신

settings.json은 Claude Code의 동작을 파일로 고정합니다. 매번 같은 확인 창을 넘기고 있다면 이 파일을 손볼 때입니다.

파일 위치와 우선순위

~/.claude/settings.json              ← 개인 전역 설정
프로젝트/.claude/settings.json        ← 팀 공유 (커밋 대상)
프로젝트/.claude/settings.local.json  ← 개인 로컬 (커밋 제외)

아래쪽이 위쪽을 덮어씁니다. 팀 전체에 적용할 규칙은 가운데, 내 컴퓨터에만 해당하는 건 아래쪽에 두세요.

권한 허용 목록

가장 자주 쓰는 설정입니다. 안전한 읽기 전용 명령을 미리 허용해 두면 확인 요청이 크게 줄어듭니다.

{
  "permissions": {
    "allow": [
      "Bash(npm run test:*)",
      "Bash(npm run lint)",
      "Bash(git status)",
      "Bash(git diff:*)",
      "Read(**)"
    ],
    "deny": [
      "Bash(rm -rf:*)",
      "Bash(git push --force:*)",
      "Read(./.env)",
      "Read(./secrets/**)"
    ]
  }
}

denyallow보다 강합니다. 위험한 명령과 비밀 파일은 여기 명시적으로 넣어 두세요.

환경 변수

세션마다 주입할 값을 고정합니다.

{
  "env": {
    "NODE_ENV": "development",
    "API_BASE_URL": "http://localhost:3000"
  }
}

API 키나 토큰은 여기에 넣지 마세요. 커밋되는 파일이라면 특히 위험합니다. 비밀값은 settings.local.json이나 별도 환경 파일을 쓰세요.

자주 쓰는 옵션

설명
model세션 기본 모델을 지정합니다
env세션에 주입할 환경 변수
permissions도구 허용/차단 규칙
hooks특정 시점에 실행할 스크립트 (훅 문서)

허용 목록을 만드는 실전 순서

  1. 며칠 그냥 써 봅니다.
  2. 같은 명령을 세 번 이상 승인했다면 그건 허용 목록 후보입니다.
  3. 단, 부작용이 있는 명령은 편해도 넣지 마세요. 배포·삭제·전송은 매번 확인하는 게 맞습니다.

팀에 배포할 때

.claude/settings.json을 커밋하면 팀원 전체가 같은 규칙을 공유합니다. 이때 넣으면 좋은 것:

  • 이 저장소에서 금지된 명령 (deny)
  • 표준 검증 명령 허용 (npm run test, typecheck)
  • 공통 환경 변수 (비밀값 제외)

개인 취향은 각자 settings.local.json에 두고, 이 파일은 .gitignore에 넣으세요.

설정권한settings.json

팀에 Claude Code를 도입하려면 실제 코드베이스에 맞춘 설계가 필요합니다.

기업교육 · 도입 상담하기