Claude Code는 사용자의 요구사항에 맞게 동작을 구성할 수 있는 다양한 설정을 제공합니다. 대화형 REPL을 사용할 때 /config 명령을 실행하여 Claude Code를 구성할 수 있습니다.

설정 파일

settings.json 파일은 계층적 설정을 통해 Claude Code를 구성하는 공식 메커니즘입니다:

  • 사용자 설정~/.claude/settings.json에 정의되며 모든 프로젝트에 적용됩니다.
  • 프로젝트 설정은 프로젝트 디렉토리에 저장됩니다:
    • .claude/settings.json은 소스 제어에 체크인되어 팀과 공유되는 설정용
    • .claude/settings.local.json은 체크인되지 않는 설정으로, 개인 선호도와 실험에 유용합니다. Claude Code는 생성될 때 git이 .claude/settings.local.json을 무시하도록 구성합니다.
  • Claude Code의 엔터프라이즈 배포의 경우, 엔터프라이즈 관리 정책 설정도 지원합니다. 이는 사용자 및 프로젝트 설정보다 우선합니다. 시스템 관리자는 macOS의 /Library/Application Support/ClaudeCode/policies.json과 Linux 및 WSL을 통한 Windows의 /etc/claude-code/policies.json에 정책을 배포할 수 있습니다.
Example settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

사용 가능한 설정

settings.json은 여러 옵션을 지원합니다:

설명예시
apiKeyHelper인증 값을 생성하기 위해 /bin/sh에서 실행될 사용자 정의 스크립트. 이 값은 일반적으로 모델 요청에 대해 X-Api-Key, Authorization: Bearer, Proxy-Authorization: Bearer 헤더로 전송됩니다/bin/generate_temp_api_key.sh
cleanupPeriodDays채팅 기록을 로컬에 보관할 기간 (기본값: 30일)20
env모든 세션에 적용될 환경 변수{"FOO": "bar"}
includeCoAuthoredBygit 커밋과 풀 리퀘스트에 co-authored-by Claude 서명을 포함할지 여부 (기본값: true)false
permissionsallowdeny 키는 권한 규칙 목록입니다{"allow": [ "Bash(npm run lint)" ]}

설정 우선순위

설정은 우선순위 순서로 적용됩니다:

  1. 엔터프라이즈 정책 (IAM 문서 참조)
  2. 명령줄 인수
  3. 로컬 프로젝트 설정
  4. 공유 프로젝트 설정
  5. 사용자 설정

환경 변수

Claude Code는 동작을 제어하기 위해 다음 환경 변수를 지원합니다:

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

변수목적
ANTHROPIC_API_KEYX-Api-Key 헤더로 전송되는 API 키, 일반적으로 Claude SDK용 (대화형 사용의 경우 /login 실행)
ANTHROPIC_AUTH_TOKENAuthorizationProxy-Authorization 헤더의 사용자 정의 값 (여기서 설정한 값은 Bearer 접두사가 붙습니다)
ANTHROPIC_CUSTOM_HEADERS요청에 추가하려는 사용자 정의 헤더 (Name: Value 형식)
ANTHROPIC_MODEL사용할 사용자 정의 모델 이름 (모델 구성 참조)
ANTHROPIC_SMALL_FAST_MODEL백그라운드 작업용 Haiku급 모델 이름
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_MAX_OUTPUT_TOKENS대부분의 요청에 대한 최대 출력 토큰 수 설정
CLAUDE_CODE_USE_BEDROCKBedrock 사용 (Bedrock & Vertex 참조)
CLAUDE_CODE_USE_VERTEXVertex 사용 (Bedrock & Vertex 참조)
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 설정과 동일
DISABLE_AUTOUPDATER자동 업데이터를 비활성화하려면 1로 설정
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)

구성 옵션

전역 구성을 settings.json으로 마이그레이션하는 과정에 있습니다.

claude configsettings.json을 위해 더 이상 사용되지 않을 예정입니다

구성을 관리하려면 다음 명령을 사용하세요:

  • 설정 목록: 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>를 사용하세요:

설명예시
autoUpdaterStatus자동 업데이터 활성화 또는 비활성화 (기본값: enabled)disabled
preferredNotifChannel알림을 받고 싶은 위치 (기본값: iterm2)iterm2, iterm2_with_bell, terminal_bell, 또는 notifications_disabled
theme색상 테마dark, light, light-daltonized, 또는 dark-daltonized
verbose전체 bash 및 명령 출력을 표시할지 여부 (기본값: false)true

Claude가 사용할 수 있는 도구

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

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

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

참고 항목