snow · 2026.5.9 11:48 · 조회 1

권한 설정 (settings.json)

설정 파일 위치

Claude Code는 계층적 설정 파일을 사용합니다.

파일범위설명
~/.claude/settings.json글로벌모든 프로젝트에 적용
{project}/.claude/settings.json프로젝트해당 프로젝트에만 적용
{project}/.claude/settings.local.json로컬Git에 커밋하지 않는 개인 설정

프로젝트 설정이 글로벌 설정을 오버라이드합니다.


권한(Permissions) 설정

Claude Code가 사용할 수 있는 도구를 명시적으로 허용하거나 차단합니다.

{
  "permissions": {
    "allow": [
      "Bash(git *)",
      "Bash(npm run *)",
      "Bash(npm test)",
      "Read(**)",
      "Edit(**)",
      "Write(**)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(curl *)",
      "Bash(wget *)"
    ]
  }
}

허용 패턴 예시

"allow": [
  "Bash(git *)",           // 모든 git 명령
  "Bash(npm run build)",   // 특정 명령만
  "Read(src/**)",          // src 하위 읽기만
  "Edit(src/**)",          // src 하위 편집만
  "mcp__github__*"         // GitHub MCP 모든 도구
]

승인 모드(Permission Mode)

모드설명적합한 환경
default위험한 작업은 승인 요청일반 개발
acceptEdits파일 편집 자동 승인, 명령 승인 요청신뢰된 프로젝트
auto모든 작업 자동 승인자동화 스크립트
bypassPermissions모든 권한 우회CI/CD (주의)
# 모드 지정 실행
claude --permission-mode auto
claude --permission-mode acceptEdits

모델 설정

{
  "model": "claude-sonnet-4-6",
  "smallModel": "claude-haiku-4-5"
}
설정설명
model주 작업에 사용할 모델
smallModel간단한 요약 등 경량 작업에 사용할 모델

MCP 서버 설정

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
      }
    }
  }
}

환경 변수 주입

settings.json에서 환경 변수를 정의하면 Claude Code 실행 시 자동으로 적용됩니다.

{
  "env": {
    "NODE_ENV": "development",
    "LOG_LEVEL": "debug"
  }
}

팀 공통 설정 예시

{
  "model": "claude-sonnet-4-6",
  "permissions": {
    "allow": [
      "Bash(git *)",
      "Bash(npm *)",
      "Bash(npx *)",
      "Read(**)",
      "Edit(src/**)",
      "Write(src/**)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(sudo *)",
      "Bash(curl * | bash *)"
    ]
  }
}

댓글

아직 댓글이 없습니다.

댓글을 작성하려면 로그인이 필요합니다.