VS Code에서 클로드 코드(Claude Code) 설정하기: 확장 프로그램 설치부터 권한 설정까지




매번 권한 확인 팝업에 지치셨나요? VS Code에서 클로드 코드를 설치하고, 권한을 설정하여 끊김 없는 AI 코딩 경험을 만드는 방법을 알려드립니다.


들어가며

클로드 코드(Claude Code)를 VS Code에서 사용하다 보면 이런 경험이 있으실 겁니다.

“파일 수정해도 될까요?” “이 명령어 실행해도 될까요?” “이 파일 읽어도 될까요?”

커피 한 잔 마시고 돌아왔더니 Claude가 첫 번째 mkdir 명령에서 멈춰서 기다리고 있는 상황… 보안을 위한 기능이지만, 생산성을 심각하게 떨어뜨립니다.

이 글에서는 VS Code에 클로드 코드를 설치하고, 권한 설정을 통해 워크플로우를 최적화하는 방법을 상세히 다룹니다. 목표는 간단합니다: 안전하면서도 끊김 없는 AI 코딩 경험 만들기.


목차

  1. VS Code 확장 프로그램 설치
  2. 기본 사용법
  3. 권한 모드 이해하기
  4. 권한 모드 전환 방법
  5. 설정 파일로 권한 구성하기
  6. 세밀한 권한 제어
  7. VS Code 전용 설정
  8. 주의사항 및 보안 팁
  9. 자주 묻는 질문

1. VS Code 확장 프로그램 설치

설치 요구사항

  • VS Code 버전: 1.98.0 이상
  • Anthropic 계정: Claude Pro, Max, Team, 또는 Enterprise 구독
  • 인터넷 연결: Claude 서버와 통신 필요

💡 참고: CLI를 먼저 설치할 필요가 없습니다. 확장 프로그램만으로 바로 시작할 수 있어요.

설치 방법

방법 1: VS Code 마켓플레이스에서 설치

  1. VS Code에서 Cmd+Shift+X (Mac) 또는 Ctrl+Shift+X (Windows/Linux) 눌러 확장 프로그램 뷰 열기
  2. “Claude Code” 검색
  3. Anthropic에서 제공하는 공식 확장 프로그램 Install 클릭
  4. VS Code 재시작 또는 Command Palette에서 “Developer: Reload Window” 실행

방법 2: 마켓플레이스 웹사이트에서 설치

  1. VS Code Marketplace – Claude Code 방문
  2. Install 버튼 클릭
  3. VS Code가 자동으로 열리며 설치 진행

방법 3: CLI 통합 (레거시)

VS Code 통합 터미널에서 claude 명령을 실행하면 확장 프로그램이 자동 감지되어 설치됩니다.

# VS Code 통합 터미널에서 실행
claude

설치 확인

설치가 완료되면:

  • 에디터 우측 상단에 ⚡ Spark 아이콘 표시
  • 하단 상태바에 “✱ Claude Code” 표시
  • Command Palette에서 “Claude Code” 검색 시 관련 명령어 표시

2. 기본 사용법

Claude Code 패널 열기

방법설명
Spark 아이콘 클릭에디터 우측 상단 ⚡ 아이콘 (파일이 열려있어야 표시됨)
상태바 클릭우측 하단 “✱ Claude Code” 클릭
Command PaletteCmd/Ctrl+Shift+P → “Claude Code: Open”
키보드 단축키직접 설정 가능

기본 워크플로우

  1. Claude Code 패널 열기
  2. 프롬프트 입력 (예: “이 함수에 에러 핸들링 추가해줘”)
  3. Claude가 변경사항 제안
  4. Diff 뷰에서 변경사항 확인
  5. Accept 또는 Reject 선택

유용한 기능

기능설명
@멘션@파일명으로 특정 파일 참조
선택 영역 참조코드 선택 후 질문하면 자동으로 컨텍스트에 포함
멀티탭여러 대화를 동시에 진행 가능
Extended Thinking복잡한 문제에 대해 깊이 생각하도록 토글

3. 권한 모드 이해하기

클로드 코드는 세 가지 주요 권한 모드를 제공합니다.

권한 모드 종류

모드설명사용 시기
Ask before edits모든 작업에 권한 요청신뢰할 수 없는 코드, 학습 중
Edit automatically (Auto-accept)파일 편집만 자동 승인, bash 명령은 확인일반적인 개발 작업
Bypass Permissions모든 권한 자동 승인신뢰할 수 있는 환경, 자동화

각 모드의 동작

Ask before edits (기본값)

Claude: 파일을 수정해도 될까요?
You: [Accept] [Reject]

Claude: `npm install`을 실행해도 될까요?
You: [Accept] [Reject]

매번 확인이 필요하지만, 가장 안전합니다.

Edit automatically

Claude: (파일 자동 수정됨 - Diff 뷰로 확인 가능)

Claude: `npm install`을 실행해도 될까요?
You: [Accept] [Reject]

파일 편집은 자동, bash 명령은 확인. 균형 잡힌 모드입니다.

Bypass Permissions

Claude: (파일 자동 수정됨)
Claude: (npm install 자동 실행됨)
Claude: (작업 완료!)

모든 것이 자동. 가장 빠르지만 주의가 필요합니다.


4. 권한 모드 전환 방법

방법 1: 키보드 단축키 (가장 빠름)

Shift + Tab 키를 누르면 권한 모드가 순환 전환됩니다.

Ask before edits → Edit automatically → Plan mode → (반복)

💡 참고: Bypass Permissions 모드는 드롭다운에 표시되지 않지만, 설정 파일로 활성화할 수 있습니다.

방법 2: UI 드롭다운

Claude Code 패널 하단의 권한 모드 드롭다운에서 선택합니다.

방법 3: VS Code 설정

  1. Cmd/Ctrl + ,로 설정 열기
  2. Extensions → Claude Code 이동
  3. Permission Mode 또는 관련 설정 변경

방법 4: settings.json 직접 수정 (권장)

VS Code의 settings.json에 추가:

{
  "claudeCode.allowDangerouslySkipPermissions": true
}

또는 Command Palette에서:

  1. Cmd/Ctrl + Shift + P
  2. “Preferences: Open User Settings (JSON)” 선택
  3. 설정 추가

5. 설정 파일로 권한 구성하기

VS Code 설정 외에도, 클로드 코드 전용 설정 파일로 더 세밀한 권한 제어가 가능합니다.

설정 파일 위치 및 우선순위

우선순위파일 위치용도
1 (최상)managed-settings.json기업 관리 정책 (IT 배포)
2.claude/settings.local.json개인 프로젝트 설정 (gitignore)
3.claude/settings.json팀 공유 프로젝트 설정
4 (최하)~/.claude/settings.json전역 사용자 설정

전역 설정 (모든 프로젝트에 적용)

~/.claude/settings.json 파일 생성:

{
  "permissions": {
    "defaultMode": "bypassPermissions"
  }
}

프로젝트별 설정 (팀 공유)

.claude/settings.json 파일 생성:

{
  "permissions": {
    "defaultMode": "acceptEdits",
    "allow": [
      "Bash(npm run *)",
      "Bash(git status)",
      "Bash(git diff)"
    ],
    "deny": [
      "Read(.env)",
      "Read(.env.*)",
      "Bash(rm -rf *)"
    ]
  }
}

개인 설정 (gitignore 대상)

.claude/settings.local.json 파일 생성:

{
  "permissions": {
    "defaultMode": "bypassPermissions",
    "allow": ["*"]
  }
}

💡 : .claude/settings.local.json은 자동으로 gitignore 처리됩니다.


6. 세밀한 권한 제어

권한 규칙 형식

도구(패턴)

도구 종류

도구설명
Bash셸 명령 실행
Read파일 읽기
Write파일 생성/덮어쓰기
Edit파일 부분 수정
WebFetchURL 접근
WebSearch웹 검색
Task서브에이전트 실행

패턴 문법

패턴의미예시
*모든 것Bash(*)
npm run *npm run으로 시작하는 모든 명령Bash(npm run *)
*.py모든 Python 파일Write(*.py)
./src/**src 디렉토리 하위 모든 파일Read(./src/**)
git *:*git 명령과 인자Bash(git diff:*)

실용적인 설정 예시

예시 1: 안전한 개발 환경

{
  "permissions": {
    "defaultMode": "acceptEdits",
    "allow": [
      "Bash(npm run *)",
      "Bash(npm test *)",
      "Bash(git status)",
      "Bash(git diff)",
      "Bash(git log *)",
      "Read(./src/**)",
      "Write(./src/**)",
      "Edit(./src/**)"
    ],
    "ask": [
      "Bash(git push *)",
      "Bash(git commit *)"
    ],
    "deny": [
      "Read(.env)",
      "Read(.env.*)",
      "Read(./secrets/**)",
      "Bash(rm -rf *)",
      "Bash(curl *)",
      "Bash(wget *)"
    ]
  }
}

예시 2: 완전 자동화 (신뢰할 수 있는 환경)

{
  "permissions": {
    "defaultMode": "bypassPermissions",
    "allow": ["*"],
    "deny": []
  }
}

예시 3: 읽기 전용 탐색 모드

{
  "permissions": {
    "defaultMode": "default",
    "allow": [
      "Read(*)",
      "Bash(ls *)",
      "Bash(cat *)",
      "Bash(grep *)"
    ],
    "deny": [
      "Write(*)",
      "Edit(*)",
      "Bash(rm *)",
      "Bash(mv *)"
    ]
  }
}

권한 레벨 설명

레벨동작
allow자동 승인 (확인 없음)
ask매번 확인 요청
deny완전 차단 (실행 불가)

7. VS Code 전용 설정

VS Code settings.json 설정

settings.json에 추가할 수 있는 클로드 코드 관련 설정:

{
  // Bypass Permissions 모드 허용
  "claudeCode.allowDangerouslySkipPermissions": true,
  
  // 터미널 모드 사용 (GUI 대신)
  "claudeCode.useTerminal": true,
  
  // 로그인 프롬프트 비활성화
  "claudeCode.disableLoginPrompt": true,
  
  // 환경 변수 설정 (Bedrock 사용 시)
  "claudeCode.env": {
    "CLAUDE_CODE_USE_BEDROCK": "1",
    "AWS_REGION": "us-east-2"
  }
}

패널 위치 변경

Claude Code 패널을 원하는 위치로 드래그할 수 있습니다:

  • Secondary Sidebar (기본값): 우측
  • Primary Sidebar: 좌측 (Explorer, Search와 함께)
  • Editor Area: 파일 탭과 함께

터미널 모드 vs GUI 모드

모드특징
GUI 모드 (기본)그래픽 인터페이스, Diff 뷰, Plan 모드
터미널 모드CLI와 동일한 경험, 더 많은 기능 지원

터미널 모드 활성화:

{
  "claudeCode.useTerminal": true
}

8. 주의사항 및 보안 팁

⚠️ Auto-Edit 모드의 위험성

Claude Code가 auto-edit 권한으로 실행될 때, VS Code 설정 파일(settings.json, tasks.json 등)을 수정할 수 있습니다. 이 파일들은 VS Code에 의해 자동 실행될 수 있어 권한 우회의 위험이 있습니다.

안전한 사용을 위한 권장사항

1. 신뢰할 수 없는 코드에서는 Restricted Mode 사용

VS Code → 파일 → 폴더를 신뢰할 수 없는 모드로 열기

2. 민감한 파일 차단

{
  "permissions": {
    "deny": [
      "Read(.env)",
      "Read(.env.*)",
      "Read(./secrets/**)",
      "Read(~/.aws/**)",
      "Read(~/.ssh/**)"
    ]
  }
}

3. 위험한 명령어 차단

{
  "permissions": {
    "deny": [
      "Bash(rm -rf *)",
      "Bash(curl *)",
      "Bash(wget *)",
      "Bash(chmod 777 *)",
      "Bash(> /dev/*)"
    ]
  }
}

4. Docker 격리 환경 사용 (YOLO 모드 시)

완전 자동화가 필요하다면, Docker 컨테이너 안에서 실행하세요:

docker run -it \
  -v $(PWD):/workspace \
  -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
  your-dev-image \
  claude --dangerously-skip-permissions

5. Git과 함께 사용

항상 버전 관리 하에서 작업하세요. 문제가 생기면 git checkout으로 복구할 수 있습니다.

# 작업 전 커밋
git add -A && git commit -m "Before Claude changes"

# Claude 작업 후 문제 발생 시
git checkout .

9. 자주 묻는 질문

Q1: 설정 파일을 수정했는데 적용이 안 됩니다.

A: VS Code를 재시작하거나, Command Palette에서 **”Developer: Reload Window”**를 실행하세요.

Q2: CLI와 확장 프로그램의 설정이 공유되나요?

A: 네, 동일한 설정 파일(~/.claude/settings.json, .claude/settings.json)을 공유합니다. 다만, 일부 사용자들이 VS Code 확장에서 설정이 제대로 적용되지 않는 버그를 보고하고 있습니다. 문제가 있으면 CLI에서 테스트해보세요.

Q3: Bypass Permissions 모드가 드롭다운에 없습니다.

A: UI 드롭다운에는 표시되지 않지만, 설정 파일로 활성화할 수 있습니다:

{
  "permissions": {
    "defaultMode": "bypassPermissions"
  }
}

Q4: MCP 도구에 대한 권한도 설정할 수 있나요?

A: 네, mcp__서버명__* 패턴을 사용합니다:

{
  "permissions": {
    "allow": [
      "mcp__github__*",
      "mcp__*"
    ]
  }
}

Q5: 특정 프로젝트에서만 다른 권한을 사용하고 싶습니다.

A: 프로젝트 루트에 .claude/settings.json 또는 .claude/settings.local.json을 생성하세요. 이 설정이 전역 설정보다 우선합니다.

Q6: 확장 프로그램에서 지원하지 않는 기능이 있나요?

A: 네, 현재 VS Code 확장에서 제한적인 기능들:

  • MCP 서버 초기 구성 (CLI 필요)
  • 서브에이전트 구성 (CLI 필요)
  • 일부 슬래시 명령어

이런 기능은 CLI에서 먼저 설정한 후 확장에서 사용할 수 있습니다.


설정 치트시트

빠른 복사용 설정

전체 권한 허용 (전역)

~/.claude/settings.json:

{
  "permissions": {
    "defaultMode": "bypassPermissions",
    "allow": ["*"]
  }
}

균형 잡힌 설정 (프로젝트)

.claude/settings.json:

{
  "permissions": {
    "defaultMode": "acceptEdits",
    "allow": [
      "Bash(npm *)",
      "Bash(git status)",
      "Bash(git diff)",
      "Read(*)",
      "Write(./src/**)",
      "Edit(./src/**)"
    ],
    "deny": [
      "Read(.env*)",
      "Read(./secrets/**)",
      "Bash(rm -rf *)"
    ]
  }
}

VS Code 설정

VS Code settings.json:

{
  "claudeCode.allowDangerouslySkipPermissions": true
}

마치며

VS Code에서 클로드 코드를 효과적으로 사용하는 핵심은 적절한 권한 설정입니다.

  • 처음 시작할 때: 기본 모드로 시작하여 Claude의 동작을 파악하세요.
  • 익숙해지면: acceptEdits 모드와 세밀한 allow 규칙으로 생산성을 높이세요.
  • 신뢰할 수 있는 환경에서: bypassPermissions로 완전 자동화를 경험하세요.

안전과 생산성의 균형을 찾는 것이 핵심입니다. 이 가이드가 여러분의 AI 코딩 워크플로우를 한 단계 업그레이드하는 데 도움이 되길 바랍니다.




댓글 남기기