Claude Code는 사용자의 필요에 맞게 동작을 구성할 수 있는 다양한 설정을 제공합니다. 대화형 REPL을 사용할 때 /config 명령을 실행하여 Claude Code를 구성할 수 있으며, 이는 상태 정보를 보고 구성 옵션을 수정할 수 있는 탭 형식의 설정 인터페이스를 엽니다.

설정 파일

settings.json 파일은 계층적 설정을 통해 Claude Code를 구성하기 위한 공식 메커니즘입니다:
  • 사용자 설정~/.claude/settings.json에 정의되며 모든 프로젝트에 적용됩니다.
  • 프로젝트 설정은 프로젝트 디렉토리에 저장됩니다:
    • .claude/settings.json은 소스 제어에 체크인되고 팀과 공유되는 설정입니다
    • .claude/settings.local.json은 체크인되지 않는 설정으로, 개인 선호도 및 실험에 유용합니다. Claude Code는 .claude/settings.local.json이 생성될 때 git을 구성하여 이를 무시하도록 합니다.
  • Claude Code의 엔터프라이즈 배포의 경우, 엔터프라이즈 관리 정책 설정도 지원합니다. 이는 사용자 및 프로젝트 설정보다 우선합니다. 시스템 관리자는 다음 위치에 정책을 배포할 수 있습니다:
    • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
    • Linux 및 WSL: /etc/claude-code/managed-settings.json
    • Windows: C:\ProgramData\ClaudeCode\managed-settings.json
  • 엔터프라이즈 배포는 사용자 구성 서버를 재정의하는 관리 MCP 서버도 구성할 수 있습니다. 엔터프라이즈 MCP 구성을 참조하세요:
    • macOS: /Library/Application Support/ClaudeCode/managed-mcp.json
    • Linux 및 WSL: /etc/claude-code/managed-mcp.json
    • Windows: C:\ProgramData\ClaudeCode\managed-mcp.json
Example settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

사용 가능한 설정

settings.json은 여러 옵션을 지원합니다:
설명예제
apiKeyHelper/bin/sh에서 실행될 사용자 정의 스크립트로, 인증 값을 생성합니다. 이 값은 모델 요청에 대해 X-Api-KeyAuthorization: Bearer 헤더로 전송됩니다/bin/generate_temp_api_key.sh
cleanupPeriodDays마지막 활동 날짜를 기준으로 로컬에서 채팅 기록을 보관할 기간(기본값: 30일)20
env모든 세션에 적용될 환경 변수{"FOO": "bar"}
includeCoAuthoredBygit 커밋 및 풀 요청에 co-authored-by Claude 표시를 포함할지 여부(기본값: true)false
permissions권한 구조는 아래 표를 참조하세요.
hooks도구 실행 전후에 실행할 사용자 정의 명령을 구성합니다. hooks 문서를 참조하세요{"PreToolUse": {"Bash": "echo 'Running command..'"}}
disableAllHooks모든 hooks 비활성화true
modelClaude Code에 사용할 기본 모델 재정의"claude-sonnet-4-5-20250929"
statusLine컨텍스트를 표시할 사용자 정의 상태 줄을 구성합니다. statusLine 문서를 참조하세요{"type": "command", "command": "~/.claude/statusline.sh"}
outputStyle시스템 프롬프트를 조정할 출력 스타일을 구성합니다. 출력 스타일 문서를 참조하세요"Explanatory"
forceLoginMethodclaudeai를 사용하여 Claude.ai 계정으로만 로그인을 제한하거나, console을 사용하여 Claude Console(API 사용 청구) 계정으로만 로그인을 제한합니다claudeai
forceLoginOrgUUID로그인 중에 자동으로 선택할 조직의 UUID를 지정하여 조직 선택 단계를 건너뜁니다. forceLoginMethod가 설정되어야 합니다"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
enableAllProjectMcpServers프로젝트 .mcp.json 파일에 정의된 모든 MCP 서버를 자동으로 승인합니다true
enabledMcpjsonServers.mcp.json 파일에서 승인할 특정 MCP 서버 목록["memory", "github"]
disabledMcpjsonServers.mcp.json 파일에서 거부할 특정 MCP 서버 목록["filesystem"]
useEnterpriseMcpConfigOnlymanaged-settings.json에 설정되면, MCP 서버를 managed-mcp.json에 정의된 것으로만 제한합니다. 엔터프라이즈 MCP 구성을 참조하세요true
allowedMcpServersmanaged-settings.json에 설정되면, 사용자가 구성할 수 있는 MCP 서버의 허용 목록입니다. 정의되지 않음 = 제한 없음, 빈 배열 = 잠금. 모든 범위에 적용됩니다. 거부 목록이 우선합니다. 엔터프라이즈 MCP 구성을 참조하세요[{ "serverName": "github" }]
deniedMcpServersmanaged-settings.json에 설정되면, 명시적으로 차단된 MCP 서버의 거부 목록입니다. 엔터프라이즈 서버를 포함한 모든 범위에 적용됩니다. 거부 목록이 허용 목록보다 우선합니다. 엔터프라이즈 MCP 구성을 참조하세요[{ "serverName": "filesystem" }]
awsAuthRefresh.aws 디렉토리를 수정하는 사용자 정의 스크립트(고급 자격증명 구성 참조)aws sso login --profile myprofile
awsCredentialExportAWS 자격증명이 포함된 JSON을 출력하는 사용자 정의 스크립트(고급 자격증명 구성 참조)/bin/generate_aws_grant.sh

권한 설정

설명예제
allow도구 사용을 허용할 권한 규칙의 배열입니다. 참고: Bash 규칙은 정규식이 아닌 접두사 일치를 사용합니다[ "Bash(git diff:*)" ]
ask도구 사용 시 확인을 요청할 권한 규칙의 배열입니다.[ "Bash(git push:*)" ]
deny도구 사용을 거부할 권한 규칙의 배열입니다. 이를 사용하여 Claude Code 액세스에서 민감한 파일을 제외할 수도 있습니다. 참고: Bash 패턴은 접두사 일치이며 우회될 수 있습니다(Bash 권한 제한 참조)[ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ]
additionalDirectoriesClaude가 액세스할 수 있는 추가 작업 디렉토리[ "../docs/" ]
defaultModeClaude Code를 열 때 기본 권한 모드"acceptEdits"
disableBypassPermissionsMode"disable"로 설정하여 bypassPermissions 모드가 활성화되는 것을 방지합니다. 이는 --dangerously-skip-permissions 명령줄 플래그를 비활성화합니다. 관리 정책 설정을 참조하세요"disable"

샌드박스 설정

고급 샌드박싱 동작을 구성합니다. 샌드박싱은 bash 명령을 파일 시스템 및 네트워크에서 격리합니다. 자세한 내용은 샌드박싱을 참조하세요. 파일 시스템 및 네트워크 제한은 이러한 샌드박스 설정이 아닌 Read, Edit 및 WebFetch 권한 규칙을 통해 구성됩니다.
설명예제
enabledbash 샌드박싱 활성화(macOS/Linux만 해당). 기본값: falsetrue
autoAllowBashIfSandboxed샌드박싱되었을 때 bash 명령 자동 승인. 기본값: truetrue
excludedCommands샌드박스 외부에서 실행해야 할 명령["git", "docker"]
network.allowUnixSockets샌드박스에서 액세스 가능한 Unix 소켓 경로(SSH 에이전트 등)["~/.ssh/agent-socket"]
network.allowLocalBindinglocalhost 포트에 바인딩 허용(MacOS만 해당). 기본값: falsetrue
network.httpProxyPort자신의 프록시를 사용하려는 경우 사용할 HTTP 프록시 포트입니다. 지정하지 않으면 Claude가 자체 프록시를 실행합니다.8080
network.socksProxyPort자신의 프록시를 사용하려는 경우 사용할 SOCKS5 프록시 포트입니다. 지정하지 않으면 Claude가 자체 프록시를 실행합니다.8081
enableWeakerNestedSandbox권한이 없는 Docker 환경에서 더 약한 샌드박스를 활성화합니다(Linux만 해당). 보안을 감소시킵니다. 기본값: falsetrue
구성 예제:
{
  "sandbox": {
    "enabled": true,
    "autoAllowBashIfSandboxed": true,
    "excludedCommands": ["docker"],
    "network": {
      "allowUnixSockets": [
        "/var/run/docker.sock"
      ],
      "allowLocalBinding": true
    }
  },
  "permissions": {
    "deny": [
      "Read(.envrc)",
      "Read(~/.aws/**)"
    ]
  }
}
파일 시스템 액세스는 Read/Edit 권한을 통해 제어됩니다:
  • Read 거부 규칙은 샌드박스에서 파일 읽기를 차단합니다
  • Edit 허용 규칙은 파일 쓰기를 허용합니다(기본값(예: 현재 작업 디렉토리) 외에도)
  • Edit 거부 규칙은 허용된 경로 내의 쓰기를 차단합니다
네트워크 액세스는 WebFetch 권한을 통해 제어됩니다:
  • WebFetch 허용 규칙은 네트워크 도메인을 허용합니다
  • WebFetch 거부 규칙은 네트워크 도메인을 차단합니다

설정 우선순위

설정은 우선순위 순서(높음에서 낮음)로 적용됩니다:
  1. 엔터프라이즈 관리 정책 (managed-settings.json)
    • IT/DevOps에서 배포
    • 재정의할 수 없음
  2. 명령줄 인수
    • 특정 세션에 대한 임시 재정의
  3. 로컬 프로젝트 설정 (.claude/settings.local.json)
    • 개인 프로젝트별 설정
  4. 공유 프로젝트 설정 (.claude/settings.json)
    • 소스 제어의 팀 공유 프로젝트 설정
  5. 사용자 설정 (~/.claude/settings.json)
    • 개인 전역 설정
이 계층 구조는 엔터프라이즈 보안 정책이 항상 적용되면서도 팀과 개인이 자신의 경험을 사용자 정의할 수 있도록 합니다.

구성 시스템의 주요 사항

  • 메모리 파일(CLAUDE.md): Claude가 시작 시 로드하는 지침 및 컨텍스트를 포함합니다
  • 설정 파일(JSON): 권한, 환경 변수 및 도구 동작을 구성합니다
  • 슬래시 명령: 세션 중에 /command-name으로 호출할 수 있는 사용자 정의 명령
  • MCP 서버: 추가 도구 및 통합으로 Claude Code를 확장합니다
  • 우선순위: 상위 수준 구성(엔터프라이즈)이 하위 수준 구성(사용자/프로젝트)을 재정의합니다
  • 상속: 설정이 병합되며, 더 구체적인 설정이 더 광범위한 설정에 추가되거나 재정의됩니다

시스템 프롬프트 가용성

claude.ai와 달리, 우리는 이 웹사이트에 Claude Code의 내부 시스템 프롬프트를 게시하지 않습니다. CLAUDE.md 파일 또는 --append-system-prompt를 사용하여 Claude Code의 동작에 사용자 정의 지침을 추가하세요.

민감한 파일 제외

Claude Code가 민감한 정보(예: API 키, 비밀, 환경 파일)가 포함된 파일에 액세스하는 것을 방지하려면 .claude/settings.json 파일에서 permissions.deny 설정을 사용하세요:
{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./config/credentials.json)",
      "Read(./build)"
    ]
  }
}
이는 더 이상 사용되지 않는 ignorePatterns 구성을 대체합니다. 이러한 패턴과 일치하는 파일은 Claude Code에 완전히 보이지 않으므로 민감한 데이터의 우발적 노출을 방지합니다.

서브에이전트 구성

Claude Code는 사용자 및 프로젝트 수준에서 구성할 수 있는 사용자 정의 AI 서브에이전트를 지원합니다. 이러한 서브에이전트는 YAML 프론트매터가 있는 Markdown 파일로 저장됩니다:
  • 사용자 서브에이전트: ~/.claude/agents/ - 모든 프로젝트에서 사용 가능
  • 프로젝트 서브에이전트: .claude/agents/ - 프로젝트에 특정하며 팀과 공유할 수 있습니다
서브에이전트 파일은 사용자 정의 프롬프트 및 도구 권한이 있는 전문화된 AI 어시스턴트를 정의합니다. 서브에이전트 문서에서 서브에이전트 생성 및 사용에 대해 자세히 알아보세요.

플러그인 구성

Claude Code는 사용자 정의 명령, 에이전트, 훅 및 MCP 서버로 기능을 확장할 수 있는 플러그인 시스템을 지원합니다. 플러그인은 마켓플레이스를 통해 배포되며 사용자 및 저장소 수준에서 구성할 수 있습니다.

플러그인 설정

settings.json의 플러그인 관련 설정:
{
  "enabledPlugins": {
    "formatter@company-tools": true,
    "deployer@company-tools": true,
    "analyzer@security-plugins": false
  },
  "extraKnownMarketplaces": {
    "company-tools": {
      "source": "github",
      "repo": "company/claude-plugins"
    }
  }
}

enabledPlugins

활성화된 플러그인을 제어합니다. 형식: "plugin-name@marketplace-name": true/false 범위:
  • 사용자 설정 (~/.claude/settings.json): 개인 플러그인 선호도
  • 프로젝트 설정 (.claude/settings.json): 팀과 공유되는 프로젝트별 플러그인
  • 로컬 설정 (.claude/settings.local.json): 머신별 재정의(커밋되지 않음)
예제:
{
  "enabledPlugins": {
    "code-formatter@team-tools": true,
    "deployment-tools@team-tools": true,
    "experimental-features@personal": false
  }
}

extraKnownMarketplaces

저장소에서 사용 가능하게 해야 할 추가 마켓플레이스를 정의합니다. 일반적으로 팀 구성원이 필요한 플러그인 소스에 액세스할 수 있도록 저장소 수준 설정에서 사용됩니다. 저장소에 extraKnownMarketplaces가 포함되어 있을 때:
  1. 팀 구성원은 폴더를 신뢰할 때 마켓플레이스를 설치하라는 메시지를 받습니다
  2. 팀 구성원은 그 마켓플레이스에서 플러그인을 설치하라는 메시지를 받습니다
  3. 사용자는 원하지 않는 마켓플레이스 또는 플러그인을 건너뛸 수 있습니다(사용자 설정에 저장됨)
  4. 설치는 신뢰 경계를 존중하고 명시적 동의가 필요합니다
예제:
{
  "extraKnownMarketplaces": {
    "company-tools": {
      "source": {
        "source": "github",
        "repo": "company-org/claude-plugins"
      }
    },
    "security-plugins": {
      "source": {
        "source": "git",
        "url": "https://git.company.com/security/plugins.git"
      }
    }
  }
}
마켓플레이스 소스 유형:
  • github: GitHub 저장소(repo 사용)
  • git: 모든 git URL(url 사용)
  • directory: 로컬 파일 시스템 경로(path 사용, 개발 전용)

플러그인 관리

/plugin 명령을 사용하여 플러그인을 대화형으로 관리합니다:
  • 마켓플레이스에서 사용 가능한 플러그인 찾아보기
  • 플러그인 설치/제거
  • 플러그인 활성화/비활성화
  • 플러그인 세부 정보 보기(제공되는 명령, 에이전트, 훅)
  • 마켓플레이스 추가/제거
플러그인 문서에서 플러그인 시스템에 대해 자세히 알아보세요.

환경 변수

Claude Code는 다음 환경 변수를 지원하여 동작을 제어합니다:
모든 환경 변수는 settings.json에서도 구성할 수 있습니다. 이는 각 세션에 대해 환경 변수를 자동으로 설정하거나 전체 팀 또는 조직에 대해 환경 변수 집합을 배포하는 방법으로 유용합니다.
변수목적
ANTHROPIC_API_KEYX-Api-Key 헤더로 전송되는 API 키, 일반적으로 Claude SDK용(대화형 사용의 경우 /login 실행)
ANTHROPIC_AUTH_TOKENAuthorization 헤더의 사용자 정의 값(여기서 설정한 값에 Bearer 접두사가 붙음)
ANTHROPIC_CUSTOM_HEADERS요청에 추가하려는 사용자 정의 헤더(Name: Value 형식)
ANTHROPIC_DEFAULT_HAIKU_MODEL모델 구성 참조
ANTHROPIC_DEFAULT_OPUS_MODEL모델 구성 참조
ANTHROPIC_DEFAULT_SONNET_MODEL모델 구성 참조
ANTHROPIC_MODEL사용할 모델 설정의 이름(모델 구성 참조)
ANTHROPIC_SMALL_FAST_MODEL[더 이상 사용되지 않음] 배경 작업용 Haiku 클래스 모델의 이름
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONBedrock을 사용할 때 Haiku 클래스 모델의 AWS 지역 재정의
AWS_BEARER_TOKEN_BEDROCK인증을 위한 Bedrock API 키(Bedrock API 키 참조)
BASH_DEFAULT_TIMEOUT_MS장시간 실행되는 bash 명령의 기본 시간 초과
BASH_MAX_OUTPUT_LENGTHbash 출력이 중간 잘림되기 전의 최대 문자 수
BASH_MAX_TIMEOUT_MS모델이 장시간 실행되는 bash 명령에 대해 설정할 수 있는 최대 시간 초과
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR각 Bash 명령 후 원래 작업 디렉토리로 돌아가기
CLAUDE_CODE_API_KEY_HELPER_TTL_MS자격증명을 새로 고쳐야 할 간격(밀리초)(apiKeyHelper 사용 시)
CLAUDE_CODE_CLIENT_CERTmTLS 인증을 위한 클라이언트 인증서 파일의 경로
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE암호화된 CLAUDE_CODE_CLIENT_KEY의 암호(선택 사항)
CLAUDE_CODE_CLIENT_KEYmTLS 인증을 위한 클라이언트 개인 키 파일의 경로
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICDISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTINGDISABLE_TELEMETRY 설정과 동일
CLAUDE_CODE_DISABLE_TERMINAL_TITLE대화 컨텍스트를 기반으로 자동 터미널 제목 업데이트를 비활성화하려면 1로 설정
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLIDE 확장 자동 설치 건너뛰기
CLAUDE_CODE_MAX_OUTPUT_TOKENS대부분의 요청에 대한 최대 출력 토큰 수 설정
CLAUDE_CODE_SKIP_BEDROCK_AUTHBedrock에 대한 AWS 인증 건너뛰기(예: LLM 게이트웨이 사용 시)
CLAUDE_CODE_SKIP_VERTEX_AUTHVertex에 대한 Google 인증 건너뛰기(예: LLM 게이트웨이 사용 시)
CLAUDE_CODE_SUBAGENT_MODEL모델 구성 참조
CLAUDE_CODE_USE_BEDROCKBedrock 사용
CLAUDE_CODE_USE_VERTEXVertex 사용
DISABLE_AUTOUPDATER자동 업데이트를 비활성화하려면 1로 설정합니다. 이는 autoUpdates 구성 설정보다 우선합니다.
DISABLE_BUG_COMMAND/bug 명령을 비활성화하려면 1로 설정
DISABLE_COST_WARNINGS비용 경고 메시지를 비활성화하려면 1로 설정
DISABLE_ERROR_REPORTINGSentry 오류 보고에서 제외하려면 1로 설정
DISABLE_NON_ESSENTIAL_MODEL_CALLS맛 텍스트와 같은 중요하지 않은 경로에 대한 모델 호출을 비활성화하려면 1로 설정
DISABLE_PROMPT_CACHING모든 모델에 대해 프롬프트 캐싱을 비활성화하려면 1로 설정(모델별 설정보다 우선)
DISABLE_PROMPT_CACHING_HAIKUHaiku 모델에 대해 프롬프트 캐싱을 비활성화하려면 1로 설정
DISABLE_PROMPT_CACHING_OPUSOpus 모델에 대해 프롬프트 캐싱을 비활성화하려면 1로 설정
DISABLE_PROMPT_CACHING_SONNETSonnet 모델에 대해 프롬프트 캐싱을 비활성화하려면 1로 설정
DISABLE_TELEMETRYStatsig 원격 분석에서 제외하려면 1로 설정(Statsig 이벤트는 코드, 파일 경로 또는 bash 명령과 같은 사용자 데이터를 포함하지 않음)
HTTP_PROXY네트워크 연결을 위한 HTTP 프록시 서버 지정
HTTPS_PROXY네트워크 연결을 위한 HTTPS 프록시 서버 지정
MAX_MCP_OUTPUT_TOKENSMCP 도구 응답에서 허용되는 최대 토큰 수입니다. Claude Code는 출력이 10,000 토큰을 초과할 때 경고를 표시합니다(기본값: 25000)
MAX_THINKING_TOKENS확장 사고를 활성화하고 사고 프로세스의 토큰 예산을 설정합니다. 확장 사고는 복잡한 추론 및 코딩 작업의 성능을 향상시키지만 프롬프트 캐싱 효율성에 영향을 미칩니다. 기본적으로 비활성화됨.
MCP_TIMEOUTMCP 서버 시작의 시간 초과(밀리초)
MCP_TOOL_TIMEOUTMCP 도구 실행의 시간 초과(밀리초)
NO_PROXY프록시를 우회하여 직접 요청이 발행될 도메인 및 IP 목록
SLASH_COMMAND_TOOL_CHAR_BUDGETSlashCommand 도구에 표시되는 슬래시 명령 메타데이터의 최대 문자 수(기본값: 15000)
USE_BUILTIN_RIPGREPClaude Code에 포함된 rg 대신 시스템 설치 rg를 사용하려면 0으로 설정
VERTEX_REGION_CLAUDE_3_5_HAIKUVertex AI를 사용할 때 Claude 3.5 Haiku의 지역 재정의
VERTEX_REGION_CLAUDE_3_7_SONNETVertex AI를 사용할 때 Claude 3.7 Sonnet의 지역 재정의
VERTEX_REGION_CLAUDE_4_0_OPUSVertex AI를 사용할 때 Claude 4.0 Opus의 지역 재정의
VERTEX_REGION_CLAUDE_4_0_SONNETVertex AI를 사용할 때 Claude 4.0 Sonnet의 지역 재정의
VERTEX_REGION_CLAUDE_4_1_OPUSVertex AI를 사용할 때 Claude 4.1 Opus의 지역 재정의

Claude가 사용할 수 있는 도구

Claude Code는 코드베이스를 이해하고 수정하는 데 도움이 되는 강력한 도구 세트에 액세스할 수 있습니다:
도구설명필요한 권한
Bash환경에서 셸 명령 실행
Edit특정 파일에 대한 대상 편집
Glob패턴 일치를 기반으로 파일 찾기아니오
Grep파일 내용에서 패턴 검색아니오
NotebookEditJupyter 노트북 셀 수정
NotebookReadJupyter 노트북 내용 읽기 및 표시아니오
Read파일 내용 읽기아니오
SlashCommand사용자 정의 슬래시 명령 실행
Task복잡한 다단계 작업을 처리하기 위해 서브에이전트 실행아니오
TodoWrite구조화된 작업 목록 생성 및 관리아니오
WebFetch지정된 URL에서 콘텐츠 가져오기
WebSearch도메인 필터링을 사용하여 웹 검색 수행
Write파일 생성 또는 덮어쓰기
권한 규칙은 /allowed-tools를 사용하거나 권한 설정에서 구성할 수 있습니다. 도구별 권한 규칙도 참조하세요.

훅으로 도구 확장

Claude Code 훅을 사용하여 도구 실행 전후에 사용자 정의 명령을 실행할 수 있습니다. 예를 들어, Claude가 Python 파일을 수정한 후 Python 포매터를 자동으로 실행하거나 특정 경로에 대한 Write 작업을 차단하여 프로덕션 구성 파일 수정을 방지할 수 있습니다.

참고 항목