/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
- macOS:
- 엔터프라이즈 배포는 사용자 구성 서버를 재정의하는 관리 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
- macOS:
Example settings.json
사용 가능한 설정
settings.json은 여러 옵션을 지원합니다:
| 키 | 설명 | 예제 |
|---|---|---|
apiKeyHelper | /bin/sh에서 실행될 사용자 정의 스크립트로, 인증 값을 생성합니다. 이 값은 모델 요청에 대해 X-Api-Key 및 Authorization: Bearer 헤더로 전송됩니다 | /bin/generate_temp_api_key.sh |
cleanupPeriodDays | 마지막 활동 날짜를 기준으로 로컬에서 채팅 기록을 보관할 기간(기본값: 30일) | 20 |
env | 모든 세션에 적용될 환경 변수 | {"FOO": "bar"} |
includeCoAuthoredBy | git 커밋 및 풀 요청에 co-authored-by Claude 표시를 포함할지 여부(기본값: true) | false |
permissions | 권한 구조는 아래 표를 참조하세요. | |
hooks | 도구 실행 전후에 실행할 사용자 정의 명령을 구성합니다. hooks 문서를 참조하세요 | {"PreToolUse": {"Bash": "echo 'Running command..'"}} |
disableAllHooks | 모든 hooks 비활성화 | true |
model | Claude Code에 사용할 기본 모델 재정의 | "claude-sonnet-4-5-20250929" |
statusLine | 컨텍스트를 표시할 사용자 정의 상태 줄을 구성합니다. statusLine 문서를 참조하세요 | {"type": "command", "command": "~/.claude/statusline.sh"} |
outputStyle | 시스템 프롬프트를 조정할 출력 스타일을 구성합니다. 출력 스타일 문서를 참조하세요 | "Explanatory" |
forceLoginMethod | claudeai를 사용하여 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"] |
useEnterpriseMcpConfigOnly | managed-settings.json에 설정되면, MCP 서버를 managed-mcp.json에 정의된 것으로만 제한합니다. 엔터프라이즈 MCP 구성을 참조하세요 | true |
allowedMcpServers | managed-settings.json에 설정되면, 사용자가 구성할 수 있는 MCP 서버의 허용 목록입니다. 정의되지 않음 = 제한 없음, 빈 배열 = 잠금. 모든 범위에 적용됩니다. 거부 목록이 우선합니다. 엔터프라이즈 MCP 구성을 참조하세요 | [{ "serverName": "github" }] |
deniedMcpServers | managed-settings.json에 설정되면, 명시적으로 차단된 MCP 서버의 거부 목록입니다. 엔터프라이즈 서버를 포함한 모든 범위에 적용됩니다. 거부 목록이 허용 목록보다 우선합니다. 엔터프라이즈 MCP 구성을 참조하세요 | [{ "serverName": "filesystem" }] |
awsAuthRefresh | .aws 디렉토리를 수정하는 사용자 정의 스크립트(고급 자격증명 구성 참조) | aws sso login --profile myprofile |
awsCredentialExport | AWS 자격증명이 포함된 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/**)" ] |
additionalDirectories | Claude가 액세스할 수 있는 추가 작업 디렉토리 | [ "../docs/" ] |
defaultMode | Claude Code를 열 때 기본 권한 모드 | "acceptEdits" |
disableBypassPermissionsMode | "disable"로 설정하여 bypassPermissions 모드가 활성화되는 것을 방지합니다. 이는 --dangerously-skip-permissions 명령줄 플래그를 비활성화합니다. 관리 정책 설정을 참조하세요 | "disable" |
샌드박스 설정
고급 샌드박싱 동작을 구성합니다. 샌드박싱은 bash 명령을 파일 시스템 및 네트워크에서 격리합니다. 자세한 내용은 샌드박싱을 참조하세요. 파일 시스템 및 네트워크 제한은 이러한 샌드박스 설정이 아닌 Read, Edit 및 WebFetch 권한 규칙을 통해 구성됩니다.| 키 | 설명 | 예제 |
|---|---|---|
enabled | bash 샌드박싱 활성화(macOS/Linux만 해당). 기본값: false | true |
autoAllowBashIfSandboxed | 샌드박싱되었을 때 bash 명령 자동 승인. 기본값: true | true |
excludedCommands | 샌드박스 외부에서 실행해야 할 명령 | ["git", "docker"] |
network.allowUnixSockets | 샌드박스에서 액세스 가능한 Unix 소켓 경로(SSH 에이전트 등) | ["~/.ssh/agent-socket"] |
network.allowLocalBinding | localhost 포트에 바인딩 허용(MacOS만 해당). 기본값: false | true |
network.httpProxyPort | 자신의 프록시를 사용하려는 경우 사용할 HTTP 프록시 포트입니다. 지정하지 않으면 Claude가 자체 프록시를 실행합니다. | 8080 |
network.socksProxyPort | 자신의 프록시를 사용하려는 경우 사용할 SOCKS5 프록시 포트입니다. 지정하지 않으면 Claude가 자체 프록시를 실행합니다. | 8081 |
enableWeakerNestedSandbox | 권한이 없는 Docker 환경에서 더 약한 샌드박스를 활성화합니다(Linux만 해당). 보안을 감소시킵니다. 기본값: false | true |
- Read 거부 규칙은 샌드박스에서 파일 읽기를 차단합니다
- Edit 허용 규칙은 파일 쓰기를 허용합니다(기본값(예: 현재 작업 디렉토리) 외에도)
- Edit 거부 규칙은 허용된 경로 내의 쓰기를 차단합니다
- WebFetch 허용 규칙은 네트워크 도메인을 허용합니다
- WebFetch 거부 규칙은 네트워크 도메인을 차단합니다
설정 우선순위
설정은 우선순위 순서(높음에서 낮음)로 적용됩니다:-
엔터프라이즈 관리 정책 (
managed-settings.json)- IT/DevOps에서 배포
- 재정의할 수 없음
-
명령줄 인수
- 특정 세션에 대한 임시 재정의
-
로컬 프로젝트 설정 (
.claude/settings.local.json)- 개인 프로젝트별 설정
-
공유 프로젝트 설정 (
.claude/settings.json)- 소스 제어의 팀 공유 프로젝트 설정
-
사용자 설정 (
~/.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 설정을 사용하세요:
ignorePatterns 구성을 대체합니다. 이러한 패턴과 일치하는 파일은 Claude Code에 완전히 보이지 않으므로 민감한 데이터의 우발적 노출을 방지합니다.
서브에이전트 구성
Claude Code는 사용자 및 프로젝트 수준에서 구성할 수 있는 사용자 정의 AI 서브에이전트를 지원합니다. 이러한 서브에이전트는 YAML 프론트매터가 있는 Markdown 파일로 저장됩니다:- 사용자 서브에이전트:
~/.claude/agents/- 모든 프로젝트에서 사용 가능 - 프로젝트 서브에이전트:
.claude/agents/- 프로젝트에 특정하며 팀과 공유할 수 있습니다
플러그인 구성
Claude Code는 사용자 정의 명령, 에이전트, 훅 및 MCP 서버로 기능을 확장할 수 있는 플러그인 시스템을 지원합니다. 플러그인은 마켓플레이스를 통해 배포되며 사용자 및 저장소 수준에서 구성할 수 있습니다.플러그인 설정
settings.json의 플러그인 관련 설정:
enabledPlugins
활성화된 플러그인을 제어합니다. 형식: "plugin-name@marketplace-name": true/false
범위:
- 사용자 설정 (
~/.claude/settings.json): 개인 플러그인 선호도 - 프로젝트 설정 (
.claude/settings.json): 팀과 공유되는 프로젝트별 플러그인 - 로컬 설정 (
.claude/settings.local.json): 머신별 재정의(커밋되지 않음)
extraKnownMarketplaces
저장소에서 사용 가능하게 해야 할 추가 마켓플레이스를 정의합니다. 일반적으로 팀 구성원이 필요한 플러그인 소스에 액세스할 수 있도록 저장소 수준 설정에서 사용됩니다.
저장소에 extraKnownMarketplaces가 포함되어 있을 때:
- 팀 구성원은 폴더를 신뢰할 때 마켓플레이스를 설치하라는 메시지를 받습니다
- 팀 구성원은 그 마켓플레이스에서 플러그인을 설치하라는 메시지를 받습니다
- 사용자는 원하지 않는 마켓플레이스 또는 플러그인을 건너뛸 수 있습니다(사용자 설정에 저장됨)
- 설치는 신뢰 경계를 존중하고 명시적 동의가 필요합니다
github: GitHub 저장소(repo사용)git: 모든 git URL(url사용)directory: 로컬 파일 시스템 경로(path사용, 개발 전용)
플러그인 관리
/plugin 명령을 사용하여 플러그인을 대화형으로 관리합니다:
- 마켓플레이스에서 사용 가능한 플러그인 찾아보기
- 플러그인 설치/제거
- 플러그인 활성화/비활성화
- 플러그인 세부 정보 보기(제공되는 명령, 에이전트, 훅)
- 마켓플레이스 추가/제거
환경 변수
Claude Code는 다음 환경 변수를 지원하여 동작을 제어합니다:모든 환경 변수는
settings.json에서도 구성할 수 있습니다. 이는 각 세션에 대해 환경 변수를 자동으로 설정하거나 전체 팀 또는 조직에 대해 환경 변수 집합을 배포하는 방법으로 유용합니다.| 변수 | 목적 |
|---|---|
ANTHROPIC_API_KEY | X-Api-Key 헤더로 전송되는 API 키, 일반적으로 Claude SDK용(대화형 사용의 경우 /login 실행) |
ANTHROPIC_AUTH_TOKEN | Authorization 헤더의 사용자 정의 값(여기서 설정한 값에 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_REGION | Bedrock을 사용할 때 Haiku 클래스 모델의 AWS 지역 재정의 |
AWS_BEARER_TOKEN_BEDROCK | 인증을 위한 Bedrock API 키(Bedrock API 키 참조) |
BASH_DEFAULT_TIMEOUT_MS | 장시간 실행되는 bash 명령의 기본 시간 초과 |
BASH_MAX_OUTPUT_LENGTH | bash 출력이 중간 잘림되기 전의 최대 문자 수 |
BASH_MAX_TIMEOUT_MS | 모델이 장시간 실행되는 bash 명령에 대해 설정할 수 있는 최대 시간 초과 |
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR | 각 Bash 명령 후 원래 작업 디렉토리로 돌아가기 |
CLAUDE_CODE_API_KEY_HELPER_TTL_MS | 자격증명을 새로 고쳐야 할 간격(밀리초)(apiKeyHelper 사용 시) |
CLAUDE_CODE_CLIENT_CERT | mTLS 인증을 위한 클라이언트 인증서 파일의 경로 |
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE | 암호화된 CLAUDE_CODE_CLIENT_KEY의 암호(선택 사항) |
CLAUDE_CODE_CLIENT_KEY | mTLS 인증을 위한 클라이언트 개인 키 파일의 경로 |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING 및 DISABLE_TELEMETRY 설정과 동일 |
CLAUDE_CODE_DISABLE_TERMINAL_TITLE | 대화 컨텍스트를 기반으로 자동 터미널 제목 업데이트를 비활성화하려면 1로 설정 |
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL | IDE 확장 자동 설치 건너뛰기 |
CLAUDE_CODE_MAX_OUTPUT_TOKENS | 대부분의 요청에 대한 최대 출력 토큰 수 설정 |
CLAUDE_CODE_SKIP_BEDROCK_AUTH | Bedrock에 대한 AWS 인증 건너뛰기(예: LLM 게이트웨이 사용 시) |
CLAUDE_CODE_SKIP_VERTEX_AUTH | Vertex에 대한 Google 인증 건너뛰기(예: LLM 게이트웨이 사용 시) |
CLAUDE_CODE_SUBAGENT_MODEL | 모델 구성 참조 |
CLAUDE_CODE_USE_BEDROCK | Bedrock 사용 |
CLAUDE_CODE_USE_VERTEX | Vertex 사용 |
DISABLE_AUTOUPDATER | 자동 업데이트를 비활성화하려면 1로 설정합니다. 이는 autoUpdates 구성 설정보다 우선합니다. |
DISABLE_BUG_COMMAND | /bug 명령을 비활성화하려면 1로 설정 |
DISABLE_COST_WARNINGS | 비용 경고 메시지를 비활성화하려면 1로 설정 |
DISABLE_ERROR_REPORTING | Sentry 오류 보고에서 제외하려면 1로 설정 |
DISABLE_NON_ESSENTIAL_MODEL_CALLS | 맛 텍스트와 같은 중요하지 않은 경로에 대한 모델 호출을 비활성화하려면 1로 설정 |
DISABLE_PROMPT_CACHING | 모든 모델에 대해 프롬프트 캐싱을 비활성화하려면 1로 설정(모델별 설정보다 우선) |
DISABLE_PROMPT_CACHING_HAIKU | Haiku 모델에 대해 프롬프트 캐싱을 비활성화하려면 1로 설정 |
DISABLE_PROMPT_CACHING_OPUS | Opus 모델에 대해 프롬프트 캐싱을 비활성화하려면 1로 설정 |
DISABLE_PROMPT_CACHING_SONNET | Sonnet 모델에 대해 프롬프트 캐싱을 비활성화하려면 1로 설정 |
DISABLE_TELEMETRY | Statsig 원격 분석에서 제외하려면 1로 설정(Statsig 이벤트는 코드, 파일 경로 또는 bash 명령과 같은 사용자 데이터를 포함하지 않음) |
HTTP_PROXY | 네트워크 연결을 위한 HTTP 프록시 서버 지정 |
HTTPS_PROXY | 네트워크 연결을 위한 HTTPS 프록시 서버 지정 |
MAX_MCP_OUTPUT_TOKENS | MCP 도구 응답에서 허용되는 최대 토큰 수입니다. Claude Code는 출력이 10,000 토큰을 초과할 때 경고를 표시합니다(기본값: 25000) |
MAX_THINKING_TOKENS | 확장 사고를 활성화하고 사고 프로세스의 토큰 예산을 설정합니다. 확장 사고는 복잡한 추론 및 코딩 작업의 성능을 향상시키지만 프롬프트 캐싱 효율성에 영향을 미칩니다. 기본적으로 비활성화됨. |
MCP_TIMEOUT | MCP 서버 시작의 시간 초과(밀리초) |
MCP_TOOL_TIMEOUT | MCP 도구 실행의 시간 초과(밀리초) |
NO_PROXY | 프록시를 우회하여 직접 요청이 발행될 도메인 및 IP 목록 |
SLASH_COMMAND_TOOL_CHAR_BUDGET | SlashCommand 도구에 표시되는 슬래시 명령 메타데이터의 최대 문자 수(기본값: 15000) |
USE_BUILTIN_RIPGREP | Claude Code에 포함된 rg 대신 시스템 설치 rg를 사용하려면 0으로 설정 |
VERTEX_REGION_CLAUDE_3_5_HAIKU | Vertex AI를 사용할 때 Claude 3.5 Haiku의 지역 재정의 |
VERTEX_REGION_CLAUDE_3_7_SONNET | Vertex AI를 사용할 때 Claude 3.7 Sonnet의 지역 재정의 |
VERTEX_REGION_CLAUDE_4_0_OPUS | Vertex AI를 사용할 때 Claude 4.0 Opus의 지역 재정의 |
VERTEX_REGION_CLAUDE_4_0_SONNET | Vertex AI를 사용할 때 Claude 4.0 Sonnet의 지역 재정의 |
VERTEX_REGION_CLAUDE_4_1_OPUS | Vertex AI를 사용할 때 Claude 4.1 Opus의 지역 재정의 |
Claude가 사용할 수 있는 도구
Claude Code는 코드베이스를 이해하고 수정하는 데 도움이 되는 강력한 도구 세트에 액세스할 수 있습니다:| 도구 | 설명 | 필요한 권한 |
|---|---|---|
| Bash | 환경에서 셸 명령 실행 | 예 |
| Edit | 특정 파일에 대한 대상 편집 | 예 |
| Glob | 패턴 일치를 기반으로 파일 찾기 | 아니오 |
| Grep | 파일 내용에서 패턴 검색 | 아니오 |
| NotebookEdit | Jupyter 노트북 셀 수정 | 예 |
| NotebookRead | Jupyter 노트북 내용 읽기 및 표시 | 아니오 |
| Read | 파일 내용 읽기 | 아니오 |
| SlashCommand | 사용자 정의 슬래시 명령 실행 | 예 |
| Task | 복잡한 다단계 작업을 처리하기 위해 서브에이전트 실행 | 아니오 |
| TodoWrite | 구조화된 작업 목록 생성 및 관리 | 아니오 |
| WebFetch | 지정된 URL에서 콘텐츠 가져오기 | 예 |
| WebSearch | 도메인 필터링을 사용하여 웹 검색 수행 | 예 |
| Write | 파일 생성 또는 덮어쓰기 | 예 |
/allowed-tools를 사용하거나 권한 설정에서 구성할 수 있습니다. 도구별 권한 규칙도 참조하세요.
훅으로 도구 확장
Claude Code 훅을 사용하여 도구 실행 전후에 사용자 정의 명령을 실행할 수 있습니다. 예를 들어, Claude가 Python 파일을 수정한 후 Python 포매터를 자동으로 실행하거나 특정 경로에 대한 Write 작업을 차단하여 프로덕션 구성 파일 수정을 방지할 수 있습니다.참고 항목
- ID 및 액세스 관리 - Claude Code의 권한 시스템에 대해 알아보기
- IAM 및 액세스 제어 - 엔터프라이즈 정책 관리
- 문제 해결 - 일반적인 구성 문제에 대한 솔루션