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
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...'"}}
modelClaude Code에 사용할 기본 모델을 재정의합니다"claude-3-5-sonnet-20241022"
statusLine컨텍스트를 표시할 사용자 정의 상태 라인을 구성합니다. statusLine 문서 참조{"type": "command", "command": "~/.claude/statusline.sh"}
forceLoginMethodClaude.ai 계정으로 로그인을 제한하려면 claudeai를, Anthropic Console (API 사용 요금 청구) 계정으로 제한하려면 console을 사용합니다claudeai
enableAllProjectMcpServers프로젝트 .mcp.json 파일에 정의된 모든 MCP 서버를 자동으로 승인합니다true
enabledMcpjsonServers.mcp.json 파일에서 승인할 특정 MCP 서버 목록["memory", "github"]
disabledMcpjsonServers.mcp.json 파일에서 거부할 특정 MCP 서버 목록["filesystem"]
awsAuthRefresh.aws 디렉토리를 수정하는 사용자 정의 스크립트 (고급 자격 증명 구성 참조)aws sso login --profile myprofile
awsCredentialExportAWS 자격 증명이 포함된 JSON을 출력하는 사용자 정의 스크립트 (고급 자격 증명 구성 참조)/bin/generate_aws_grant.sh

권한 설정

설명예시
allow도구 사용을 허용할 권한 규칙 배열[ "Bash(git diff:*)" ]
ask도구 사용 시 확인을 요청할 권한 규칙 배열.[ "Bash(git push:*)" ]
deny도구 사용을 거부할 권한 규칙 배열. 민감한 파일을 Claude Code 액세스에서 제외하는 데도 사용합니다.[ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ]
additionalDirectoriesClaude가 액세스할 수 있는 추가 작업 디렉토리[ "../docs/" ]
defaultModeClaude Code를 열 때의 기본 권한 모드"acceptEdits"
disableBypassPermissionsModebypassPermissions 모드가 활성화되지 않도록 하려면 "disable"로 설정합니다. 관리 정책 설정 참조"disable"

설정 우선순위

설정은 우선순위 순서로 적용됩니다 (높음에서 낮음):

  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의 동작에 사용자 정의 지침을 추가하세요.

민감한 파일 제외

민감한 정보(예: API 키, 비밀, 환경 파일)가 포함된 파일에 Claude Code가 액세스하지 못하도록 하려면, .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는 동작을 제어하기 위해 다음 환경 변수를 지원합니다:

모든 환경 변수는 settings.json에서도 구성할 수 있습니다. 이는 각 세션에 대해 환경 변수를 자동으로 설정하거나 전체 팀이나 조직에 환경 변수 세트를 배포하는 유용한 방법입니다.

변수목적
ANTHROPIC_API_KEYX-Api-Key 헤더로 전송되는 API 키, 일반적으로 Claude SDK용 (대화형 사용의 경우 /login 실행)
ANTHROPIC_AUTH_TOKENAuthorization 헤더의 사용자 정의 값 (여기서 설정한 값 앞에 Bearer 가 붙습니다)
ANTHROPIC_CUSTOM_HEADERS요청에 추가하려는 사용자 정의 헤더 (Name: Value 형식)
ANTHROPIC_MODEL사용할 사용자 정의 모델 이름 (모델 구성 참조)
ANTHROPIC_SMALL_FAST_MODEL백그라운드 작업용 Haiku급 모델 이름
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONBedrock 사용 시 소형/고속 모델의 AWS 리전 재정의
AWS_BEARER_TOKEN_BEDROCK인증용 Bedrock API 키 (Bedrock API 키 참조)
BASH_DEFAULT_TIMEOUT_MS장시간 실행되는 bash 명령의 기본 타임아웃
BASH_MAX_TIMEOUT_MS모델이 장시간 실행되는 bash 명령에 설정할 수 있는 최대 타임아웃
BASH_MAX_OUTPUT_LENGTHbash 출력이 중간 잘림되기 전의 최대 문자 수
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR각 Bash 명령 후 원래 작업 디렉토리로 돌아가기
CLAUDE_CODE_API_KEY_HELPER_TTL_MS자격 증명을 새로 고쳐야 하는 간격(밀리초) (apiKeyHelper 사용 시)
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLIDE 확장의 자동 설치 건너뛰기
CLAUDE_CODE_MAX_OUTPUT_TOKENS대부분의 요청에 대한 최대 출력 토큰 수 설정
CLAUDE_CODE_USE_BEDROCKBedrock 사용
CLAUDE_CODE_USE_VERTEXVertex 사용
CLAUDE_CODE_SKIP_BEDROCK_AUTHBedrock에 대한 AWS 인증 건너뛰기 (예: LLM 게이트웨이 사용 시)
CLAUDE_CODE_SKIP_VERTEX_AUTHVertex에 대한 Google 인증 건너뛰기 (예: LLM 게이트웨이 사용 시)
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICDISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING, DISABLE_TELEMETRY 설정과 동일
CLAUDE_CODE_DISABLE_TERMINAL_TITLE대화 컨텍스트를 기반으로 한 자동 터미널 제목 업데이트를 비활성화하려면 1로 설정
DISABLE_AUTOUPDATER자동 업데이트를 비활성화하려면 1로 설정. 이는 autoUpdates 구성 설정보다 우선합니다.
DISABLE_BUG_COMMAND/bug 명령을 비활성화하려면 1로 설정
DISABLE_COST_WARNINGS비용 경고 메시지를 비활성화하려면 1로 설정
DISABLE_ERROR_REPORTINGSentry 오류 보고를 옵트아웃하려면 1로 설정
DISABLE_NON_ESSENTIAL_MODEL_CALLS플레이버 텍스트와 같은 중요하지 않은 경로에 대한 모델 호출을 비활성화하려면 1로 설정
DISABLE_TELEMETRYStatsig 원격 측정을 옵트아웃하려면 1로 설정 (Statsig 이벤트에는 코드, 파일 경로 또는 bash 명령과 같은 사용자 데이터가 포함되지 않음)
HTTP_PROXY네트워크 연결용 HTTP 프록시 서버 지정
HTTPS_PROXY네트워크 연결용 HTTPS 프록시 서버 지정
MAX_THINKING_TOKENS모델 예산에 대한 사고 강제
MCP_TIMEOUTMCP 서버 시작에 대한 타임아웃(밀리초)
MCP_TOOL_TIMEOUTMCP 도구 실행에 대한 타임아웃(밀리초)
MAX_MCP_OUTPUT_TOKENSMCP 도구 응답에서 허용되는 최대 토큰 수 (기본값: 25000)
USE_BUILTIN_RIPGREPClaude Code에 포함된 rg 대신 시스템에 설치된 rg를 사용하려면 0으로 설정
VERTEX_REGION_CLAUDE_3_5_HAIKUVertex AI 사용 시 Claude 3.5 Haiku의 리전 재정의
VERTEX_REGION_CLAUDE_3_5_SONNETVertex AI 사용 시 Claude Sonnet 3.5의 리전 재정의
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 config list
  • 설정 보기: claude config get <key>
  • 설정 변경: claude config set <key> <value>
  • 설정에 추가 (목록용): claude config add <key> <value>
  • 설정에서 제거 (목록용): claude config remove <key> <value>

기본적으로 config는 프로젝트 구성을 변경합니다. 전역 구성을 관리하려면 --global (또는 -g) 플래그를 사용하세요.

전역 구성

전역 구성을 설정하려면 claude config set -g <key> <value>를 사용하세요:

설명예시
autoUpdates자동 업데이트를 활성화할지 여부 (기본값: true). 활성화되면 Claude Code가 백그라운드에서 자동으로 업데이트를 다운로드하고 설치합니다. 업데이트는 Claude Code를 다시 시작할 때 적용됩니다.false
preferredNotifChannel알림을 받고 싶은 위치 (기본값: iterm2)iterm2, iterm2_with_bell, terminal_bell, 또는 notifications_disabled
theme색상 테마dark, light, light-daltonized, 또는 dark-daltonized
verbose전체 bash 및 명령 출력을 표시할지 여부 (기본값: false)true

Claude가 사용할 수 있는 도구

Claude Code는 코드베이스를 이해하고 수정하는 데 도움이 되는 강력한 도구 세트에 액세스할 수 있습니다:

도구설명필요한 권한
Bash환경에서 셸 명령을 실행합니다
Edit특정 파일에 대상 편집을 수행합니다
Glob패턴 매칭을 기반으로 파일을 찾습니다아니오
Grep파일 내용에서 패턴을 검색합니다아니오
LS파일과 디렉토리를 나열합니다아니오
MultiEdit단일 파일에서 여러 편집을 원자적으로 수행합니다
NotebookEditJupyter 노트북 셀을 수정합니다
NotebookReadJupyter 노트북 내용을 읽고 표시합니다아니오
Read파일의 내용을 읽습니다아니오
Task복잡한 다단계 작업을 처리하기 위해 서브에이전트를 실행합니다아니오
TodoWrite구조화된 작업 목록을 생성하고 관리합니다아니오
WebFetch지정된 URL에서 콘텐츠를 가져옵니다
WebSearch도메인 필터링으로 웹 검색을 수행합니다
Write파일을 생성하거나 덮어씁니다

권한 규칙은 /allowed-tools를 사용하거나 권한 설정에서 구성할 수 있습니다.

훅으로 도구 확장

Claude Code 훅을 사용하여 도구가 실행되기 전후에 사용자 정의 명령을 실행할 수 있습니다.

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

참고 항목