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 *)"
]
}
}
댓글
아직 댓글이 없습니다.
댓글을 작성하려면 로그인이 필요합니다.