26. Claude Code Desktop 사용하기
Desktop 세션·권한 모드·원격 작업·예약 실행 등 전체 기능 가이드
Claude Code Desktop 사용하기
Claude Code Desktop을 더 효과적으로 활용하세요: Git 격리를 통한 병렬 세션, 시각적 diff 리뷰, 앱 미리보기, PR 모니터링, 권한 모드, 커넥터, 엔터프라이즈 설정을 지원합니다.
Claude Desktop 앱의 Code 탭에서 터미널 대신 그래픽 인터페이스를 통해 Claude Code를 사용할 수 있습니다.
Desktop은 기본 Claude Code 경험 위에 다음과 같은 기능을 추가합니다:
- 인라인 댓글이 포함된 시각적 diff 리뷰
- 개발 서버를 통한 실시간 앱 미리보기
- 자동 수정 및 자동 병합이 가능한 GitHub PR 모니터링
- 자동 Git worktree 격리를 통한 병렬 세션
- 반복 일정에 따라 Claude를 실행하는 예약 작업
- GitHub, Slack, Linear 등을 위한 커넥터
- 로컬, SSH, 클라우드 환경
팁: Desktop이 처음이신가요? 시작하기에서 앱을 설치하고 첫 편집을 해보세요.
이 페이지에서는 코드 작업, 세션 관리, Claude Code 확장, 예약 작업, 환경 설정을 다룹니다. 또한 CLI 비교와 문제 해결도 포함되어 있습니다.
세션 시작하기
첫 메시지를 보내기 전에 프롬프트 영역에서 네 가지를 설정하세요:
- 환경: Claude가 실행될 위치를 선택합니다. 로컬 머신은 Local, Anthropic 호스팅 클라우드 세션은 Remote, 직접 관리하는 원격 머신은 SSH 연결을 선택하세요. 환경 설정을 참조하세요.
- 프로젝트 폴더: Claude가 작업할 폴더나 리포지토리를 선택합니다. 원격 세션의 경우 여러 리포지토리를 추가할 수 있습니다.
- 모델: 전송 버튼 옆의 드롭다운에서 모델을 선택합니다. 세션이 시작되면 모델은 변경할 수 없습니다.
- 권한 모드: 모드 선택기에서 Claude에게 부여할 자율성 수준을 선택합니다. 세션 중에도 변경할 수 있습니다.
작업 내용을 입력하고 Enter를 눌러 시작합니다. 각 세션은 자체 컨텍스트와 변경 사항을 독립적으로 추적합니다.
코드 작업
Claude에게 적절한 컨텍스트를 제공하고, 자율 수준을 제어하며, 변경 사항을 검토하세요.
프롬프트 박스 사용하기
Claude에게 수행할 작업을 입력하고 Enter를 눌러 전송합니다. Claude는 프로젝트 파일을 읽고, 변경을 수행하며, 권한 모드에 따라 명령을 실행합니다. 언제든지 Claude를 중단할 수 있습니다: 정지 버튼을 클릭하거나 수정 사항을 입력하고 Enter를 누르세요. Claude는 작업을 중단하고 입력에 따라 조정합니다.
프롬프트 박스 옆의 + 버튼으로 파일 첨부, 스킬, 커넥터, 플러그인에 접근할 수 있습니다.
프롬프트에 파일과 컨텍스트 추가하기
프롬프트 박스는 외부 컨텍스트를 가져오는 두 가지 방법을 지원합니다:
- @멘션 파일:
@뒤에 파일명을 입력하여 대화 컨텍스트에 파일을 추가합니다. Claude가 해당 파일을 읽고 참조할 수 있습니다. - 파일 첨부: 첨부 버튼을 사용하거나 파일을 프롬프트에 직접 드래그 앤 드롭하여 이미지, PDF 및 기타 파일을 프롬프트에 첨부합니다. 버그 스크린샷, 디자인 목업, 참고 문서를 공유할 때 유용합니다.
권한 모드 선택하기
권한 모드는 세션 중 Claude가 가지는 자율성 수준을 제어합니다: 파일 편집, 명령 실행, 또는 둘 다에 대해 사전 확인을 요청할지 여부를 결정합니다. 전송 버튼 옆의 모드 선택기를 사용하여 언제든지 모드를 전환할 수 있습니다. Claude가 정확히 무엇을 하는지 확인하려면 Ask permissions로 시작한 후, 익숙해지면 Auto accept edits나 Plan mode로 전환하세요.
| 모드 | 설정 키 | 동작 |
|---|---|---|
| Ask permissions | default | Claude가 파일 편집이나 명령 실행 전에 확인을 요청합니다. diff를 확인하고 각 변경을 수락하거나 거부할 수 있습니다. 신규 사용자에게 권장됩니다. |
| Auto accept edits | acceptEdits | Claude가 파일 편집을 자동 수락하지만 터미널 명령 실행 전에는 여전히 확인을 요청합니다. 파일 변경을 신뢰하고 더 빠른 반복을 원할 때 사용하세요. |
| Plan mode | plan | Claude가 파일을 수정하거나 명령을 실행하지 않고 코드를 분석하여 계획을 수립합니다. 접근 방식을 먼저 검토하고 싶은 복잡한 작업에 적합합니다. |
| Bypass permissions | bypassPermissions | Claude가 권한 프롬프트 없이 실행됩니다. CLI의 --dangerously-skip-permissions와 동일합니다. 설정 → Claude Code의 "Allow bypass permissions mode"에서 활성화하세요. 샌드박스 컨테이너나 VM에서만 사용하세요. 엔터프라이즈 관리자는 이 옵션을 비활성화할 수 있습니다. |
dontAsk 권한 모드는 CLI에서만 사용할 수 있습니다.
팁: 복잡한 작업은 Plan mode에서 시작하여 Claude가 변경하기 전에 접근 방식을 설계하게 하세요. 계획을 승인한 후 Auto accept edits나 Ask permissions로 전환하여 실행하세요. 이 워크플로우에 대한 자세한 내용은 먼저 탐색하고, 계획하고, 코딩하기를 참조하세요.
원격 세션은 Auto accept edits와 Plan mode를 지원합니다. 원격 세션은 기본적으로 파일 편집을 자동 수락하므로 Ask permissions를 사용할 수 없으며, 원격 환경이 이미 샌드박스되어 있으므로 Bypass permissions도 사용할 수 없습니다.
엔터프라이즈 관리자는 사용 가능한 권한 모드를 제한할 수 있습니다. 자세한 내용은 엔터프라이즈 설정을 참조하세요.
앱 미리보기
Claude는 개발 서버를 시작하고 내장 브라우저를 열어 변경 사항을 확인할 수 있습니다. 이 기능은 프론트엔드 웹 앱뿐만 아니라 백엔드 서버에도 사용할 수 있습니다: Claude는 API 엔드포인트를 테스트하고, 서버 로그를 확인하며, 발견한 문제를 반복적으로 수정할 수 있습니다. 대부분의 경우 Claude는 프로젝트 파일을 편집한 후 자동으로 서버를 시작합니다. 언제든지 Claude에게 미리보기를 요청할 수도 있습니다. 기본적으로 Claude는 모든 편집 후 변경 사항을 자동 검증합니다.
미리보기 패널에서 다음을 수행할 수 있습니다:
- 내장 브라우저에서 실행 중인 앱과 직접 상호작용
- Claude가 자동으로 변경 사항을 검증하는 과정 관찰: 스크린샷 촬영, DOM 검사, 요소 클릭, 양식 작성, 발견한 문제 수정
- 세션 도구 모음의 Preview 드롭다운에서 서버 시작 또는 중지
- 드롭다운에서 Persist sessions를 선택하여 서버 재시작 시 쿠키와 로컬 스토리지를 유지하면 개발 중 다시 로그인할 필요가 없습니다
- 서버 설정 편집 또는 모든 서버 한 번에 중지
Claude는 프로젝트를 기반으로 초기 서버 설정을 생성합니다. 앱이 사용자 정의 개발 명령을 사용하는 경우 .claude/launch.json을 설정에 맞게 편집하세요. 전체 참조는 미리보기 서버 설정을 확인하세요.
저장된 세션 데이터를 지우려면 설정 → Claude Code에서 Persist preview sessions을 끄세요. 미리보기를 완전히 비활성화하려면 설정 → Claude Code에서 Preview를 끄세요.
diff 뷰로 변경 사항 검토하기
Claude가 코드를 변경한 후, diff 뷰를 통해 풀 리퀘스트를 생성하기 전에 파일별로 수정 사항을 검토할 수 있습니다.
Claude가 파일을 변경하면 +12 -1과 같이 추가 및 삭제된 줄 수를 표시하는 diff 통계 표시기가 나타납니다. 이 표시기를 클릭하면 왼쪽에 파일 목록, 오른쪽에 각 파일의 변경 사항을 표시하는 diff 뷰어가 열립니다.
특정 줄에 댓글을 달려면 diff의 아무 줄이나 클릭하여 댓글 상자를 엽니다. 피드백을 입력하고 Enter를 눌러 댓글을 추가합니다. 여러 줄에 댓글을 추가한 후 모든 댓글을 한 번에 제출합니다:
- macOS: Cmd+Enter 누르기
- Windows: Ctrl+Enter 누르기
Claude는 댓글을 읽고 요청된 변경을 수행하며, 이는 검토할 수 있는 새로운 diff로 나타납니다.
코드 리뷰하기
diff 뷰에서 오른쪽 상단 도구 모음의 Review code를 클릭하여 커밋하기 전에 Claude에게 변경 사항을 평가하도록 요청합니다. Claude는 현재 diff를 검토하고 diff 뷰에 직접 댓글을 남깁니다. 댓글에 응답하거나 Claude에게 수정을 요청할 수 있습니다.
리뷰는 중요한 이슈에 집중합니다: 컴파일 오류, 확실한 로직 오류, 보안 취약점, 명백한 버그. 스타일, 포맷팅, 기존 이슈, 린터가 잡을 수 있는 항목은 플래그하지 않습니다.
풀 리퀘스트 상태 모니터링
풀 리퀘스트를 열면 세션에 CI 상태 바가 나타납니다. Claude Code는 GitHub CLI를 사용하여 체크 결과를 폴링하고 실패를 표시합니다.
- 자동 수정: 활성화하면 Claude가 실패 출력을 읽고 반복 수정하여 실패한 CI 체크를 자동으로 수정합니다.
- 자동 병합: 활성화하면 모든 체크가 통과하면 Claude가 PR을 병합합니다. 병합 방법은 squash입니다. 이 기능이 작동하려면 GitHub 리포지토리 설정에서 자동 병합이 활성화되어 있어야 합니다.
CI 상태 바의 Auto-fix와 Auto-merge 토글을 사용하여 각 옵션을 활성화합니다. CI가 완료되면 Claude Code는 데스크톱 알림도 보냅니다.
참고: PR 모니터링을 사용하려면 GitHub CLI (
gh)가 설치되고 인증되어 있어야 합니다.gh가 설치되어 있지 않으면 Desktop이 PR을 처음 생성할 때 설치를 안내합니다.
세션 관리
각 세션은 자체 컨텍스트와 변경 사항을 가진 독립적인 대화입니다. 여러 세션을 병렬로 실행하거나 작업을 클라우드로 보낼 수 있습니다.
세션으로 병렬 작업하기
사이드바에서 + New session을 클릭하여 여러 작업을 병렬로 수행합니다. Git 리포지토리의 경우 각 세션은 Git worktrees를 사용하여 프로젝트의 격리된 복사본을 가지므로, 한 세션의 변경 사항이 커밋하기 전에는 다른 세션에 영향을 미치지 않습니다.
Worktree는 기본적으로 <project-root>/.claude/worktrees/에 저장됩니다. 설정 → Claude Code의 "Worktree location"에서 사용자 정의 디렉토리로 변경할 수 있습니다. 모든 worktree 브랜치 이름 앞에 추가되는 브랜치 접두사를 설정할 수도 있어 Claude가 생성한 브랜치를 체계적으로 관리할 수 있습니다. 작업이 끝난 worktree를 제거하려면 사이드바에서 세션 위에 마우스를 올리고 아카이브 아이콘을 클릭하세요.
참고: 세션 격리를 위해서는 Git이 필요합니다. 대부분의 Mac에는 Git이 기본적으로 포함되어 있습니다. 터미널에서
git --version을 실행하여 확인하세요. Windows에서는 Code 탭이 작동하려면 Git이 필수입니다: Git for Windows를 다운로드하여 설치하고 앱을 재시작하세요. Git 오류가 발생하면 Cowork 세션을 사용하여 설정 문제를 해결해 보세요.
사이드바 상단의 필터 아이콘을 사용하여 상태(Active, Archived)와 환경(Local, Cloud)별로 세션을 필터링합니다. 세션의 이름을 변경하거나 컨텍스트 사용량을 확인하려면 활성 세션 상단의 도구 모음에서 세션 제목을 클릭하세요. 컨텍스트가 가득 차면 Claude가 자동으로 대화를 요약하고 작업을 계속합니다. /compact를 입력하면 더 일찍 요약을 트리거하여 컨텍스트 공간을 확보할 수도 있습니다. 압축 작동 방식에 대한 자세한 내용은 컨텍스트 윈도우를 참조하세요.
원격에서 장시간 작업 실행하기
대규모 리팩토링, 테스트 스위트, 마이그레이션 또는 기타 장시간 작업의 경우 세션을 시작할 때 Local 대신 Remote를 선택하세요. 원격 세션은 Anthropic의 클라우드 인프라에서 실행되며 앱을 닫거나 컴퓨터를 종료해도 계속됩니다. 언제든 다시 돌아와 진행 상황을 확인하거나 Claude의 방향을 수정할 수 있습니다. claude.ai/code나 Claude iOS 앱에서도 원격 세션을 모니터링할 수 있습니다.
원격 세션은 여러 리포지토리도 지원합니다. 클라우드 환경을 선택한 후 리포 필 옆의 + 버튼을 클릭하여 세션에 추가 리포지토리를 추가합니다. 각 리포에는 자체 브랜치 선택기가 있습니다. 공유 라이브러리와 그 소비자를 업데이트하는 것처럼 여러 코드베이스에 걸친 작업에 유용합니다.
원격 세션 작동 방식에 대한 자세한 내용은 웹에서의 Claude Code를 참조하세요.
다른 환경에서 계속하기
세션 도구 모음 오른쪽 하단의 VS Code 아이콘에서 접근할 수 있는 Continue in 메뉴를 사용하면 세션을 다른 환경으로 이동할 수 있습니다:
- Claude Code on the Web: 로컬 세션을 원격으로 계속 실행하도록 전송합니다. Desktop이 브랜치를 푸시하고, 대화 요약을 생성하며, 전체 컨텍스트를 가진 새 원격 세션을 만듭니다. 그런 다음 로컬 세션을 아카이브하거나 유지할 수 있습니다. 이 기능은 깨끗한 작업 트리가 필요하며 SSH 세션에서는 사용할 수 없습니다.
- Your IDE: 현재 작업 디렉토리에서 지원되는 IDE로 프로젝트를 엽니다.
Claude Code 확장하기
외부 서비스를 연결하고, 재사용 가능한 워크플로우를 추가하며, Claude의 동작을 커스터마이즈하고, 미리보기 서버를 설정합니다.
외부 도구 연결하기
로컬 및 SSH 세션의 경우 프롬프트 박스 옆의 + 버튼을 클릭하고 Connectors를 선택하여 Google Calendar, Slack, GitHub, Linear, Notion 등의 통합을 추가합니다. 세션 전이나 세션 중에 커넥터를 추가할 수 있습니다. 원격 세션에서는 커넥터를 사용할 수 없습니다.
커넥터를 관리하거나 연결을 해제하려면 데스크톱 앱의 설정 → Connectors로 이동하거나 프롬프트 박스의 Connectors 메뉴에서 Manage connectors를 선택하세요.
연결되면 Claude가 캘린더를 읽고, 메시지를 보내고, 이슈를 생성하고, 도구와 직접 상호작용할 수 있습니다. Claude에게 세션에 설정된 커넥터를 물어볼 수 있습니다.
커넥터는 그래픽 설정 흐름을 가진 MCP 서버입니다. 지원되는 서비스와의 빠른 통합에 사용하세요. Connectors에 나열되지 않은 통합의 경우 설정 파일을 통해 MCP 서버를 수동으로 추가하세요. 사용자 정의 커넥터를 생성할 수도 있습니다.
스킬 사용하기
스킬은 Claude가 할 수 있는 일을 확장합니다. Claude는 관련이 있을 때 자동으로 스킬을 로드하거나, 직접 호출할 수 있습니다: 프롬프트 박스에 /를 입력하거나 + 버튼을 클릭하고 Slash commands를 선택하여 사용 가능한 항목을 탐색합니다. 여기에는 내장 명령, 사용자 정의 스킬, 코드베이스의 프로젝트 스킬, 설치된 플러그인의 스킬이 포함됩니다. 하나를 선택하면 입력 필드에 강조 표시됩니다. 그 뒤에 작업을 입력하고 평소처럼 전송하세요.
플러그인 설치하기
플러그인은 Claude Code에 스킬, 에이전트, 훅, MCP 서버, LSP 설정을 추가하는 재사용 가능한 패키지입니다. 터미널을 사용하지 않고도 데스크톱 앱에서 플러그인을 설치할 수 있습니다.
로컬 및 SSH 세션의 경우 프롬프트 박스 옆의 + 버튼을 클릭하고 Plugins를 선택하여 설치된 플러그인과 해당 명령을 확인합니다. 플러그인을 추가하려면 하위 메뉴에서 Add plugin을 선택하여 플러그인 브라우저를 열면 공식 Anthropic 마켓플레이스를 포함한 설정된 마켓플레이스의 사용 가능한 플러그인이 표시됩니다. Manage plugins를 선택하여 플러그인을 활성화, 비활성화 또는 제거합니다.
플러그인은 사용자 계정, 특정 프로젝트 또는 로컬 전용으로 범위를 지정할 수 있습니다. 원격 세션에서는 플러그인을 사용할 수 없습니다. 자체 플러그인 생성을 포함한 전체 플러그인 참조는 플러그인을 확인하세요.
미리보기 서버 설정하기
Claude는 개발 서버 설정을 자동으로 감지하고 세션을 시작할 때 선택한 폴더의 루트에 있는 .claude/launch.json에 설정을 저장합니다. 미리보기는 이 폴더를 작업 디렉토리로 사용하므로 상위 폴더를 선택한 경우 자체 개발 서버가 있는 하위 폴더는 자동으로 감지되지 않습니다. 하위 폴더의 서버로 작업하려면 해당 폴더에서 직접 세션을 시작하거나 수동으로 설정을 추가하세요.
서버 시작 방식을 커스터마이즈하려면, 예를 들어 npm run dev 대신 yarn dev를 사용하거나 포트를 변경하려면 파일을 직접 편집하거나 Preview 드롭다운에서 Edit configuration을 클릭하여 코드 에디터에서 엽니다. 파일은 주석이 포함된 JSON을 지원합니다.
{
"version": "0.0.1",
"configurations": [
{
"name": "my-app",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "dev"],
"port": 3000
}
]
}
여러 설정을 정의하여 프론트엔드와 API처럼 동일한 프로젝트에서 다른 서버를 실행할 수 있습니다. 아래 예시를 참조하세요.
변경 사항 자동 검증
autoVerify가 활성화되면 Claude가 파일 편집 후 코드 변경 사항을 자동으로 검증합니다. 스크린샷을 찍고, 오류를 확인하며, 응답을 완료하기 전에 변경이 제대로 작동하는지 확인합니다.
자동 검증은 기본적으로 켜져 있습니다. .claude/launch.json에 "autoVerify": false를 추가하여 프로젝트별로 비활성화하거나 Preview 드롭다운 메뉴에서 토글할 수 있습니다.
{
"version": "0.0.1",
"autoVerify": false,
"configurations": [...]
}
비활성화해도 미리보기 도구는 계속 사용할 수 있으며 언제든지 Claude에게 검증을 요청할 수 있습니다. 자동 검증은 모든 편집 후 이를 자동으로 수행합니다.
설정 필드
configurations 배열의 각 항목은 다음 필드를 지원합니다:
| 필드 | 타입 | 설명 |
|---|---|---|
name | string | 이 서버의 고유 식별자 |
runtimeExecutable | string | 실행할 명령, 예: npm, yarn, node |
runtimeArgs | string[] | runtimeExecutable에 전달되는 인수, 예: ["run", "dev"] |
port | number | 서버가 수신하는 포트. 기본값은 3000 |
cwd | string | 프로젝트 루트 기준 상대 작업 디렉토리. 기본값은 프로젝트 루트. ${workspaceFolder}를 사용하여 프로젝트 루트를 명시적으로 참조할 수 있습니다 |
env | object | 키-값 쌍의 추가 환경 변수, 예: { "NODE_ENV": "development" }. 이 파일은 리포에 커밋되므로 시크릿을 여기에 넣지 마세요. 셸 프로필에 설정된 시크릿은 자동으로 상속됩니다. |
autoPort | boolean | 포트 충돌 처리 방법. 아래 참조 |
program | string | node로 실행할 스크립트. program과 runtimeExecutable 사용 시기 참조 |
args | string[] | program에 전달되는 인수. program이 설정된 경우에만 사용 |
program과 runtimeExecutable 사용 시기
runtimeExecutable과 runtimeArgs를 사용하여 패키지 매니저를 통해 개발 서버를 시작합니다. 예를 들어, "runtimeExecutable": "npm"과 "runtimeArgs": ["run", "dev"]는 npm run dev를 실행합니다.
node로 직접 실행할 독립 스크립트가 있는 경우 program을 사용합니다. 예를 들어, "program": "server.js"는 node server.js를 실행합니다. args로 추가 플래그를 전달하세요.
포트 충돌
autoPort 필드는 선호하는 포트가 이미 사용 중일 때의 동작을 제어합니다:
true: Claude가 자동으로 빈 포트를 찾아 사용합니다. 대부분의 개발 서버에 적합합니다.false: Claude가 오류와 함께 실패합니다. OAuth 콜백이나 CORS 허용 목록처럼 서버가 특정 포트를 사용해야 하는 경우에 사용하세요.- 설정하지 않음 (기본값): Claude가 서버에 해당 포트가 정확히 필요한지 물어본 후 답변을 저장합니다.
Claude가 다른 포트를 선택하면 PORT 환경 변수를 통해 할당된 포트를 서버에 전달합니다.
예시
다음 설정은 다양한 프로젝트 유형의 일반적인 설정을 보여줍니다:
Next.js
이 설정은 포트 3000에서 Yarn을 사용하여 Next.js 앱을 실행합니다:
{
"version": "0.0.1",
"configurations": [
{
"name": "web",
"runtimeExecutable": "yarn",
"runtimeArgs": ["dev"],
"port": 3000
}
]
}
Multiple servers
프론트엔드와 API 서버가 있는 모노레포의 경우 여러 설정을 정의합니다. 프론트엔드는 3000번 포트가 사용 중이면 빈 포트를 선택하도록 autoPort: true를 사용하고, API 서버는 정확히 8080번 포트를 요구합니다:
{
"version": "0.0.1",
"configurations": [
{
"name": "frontend",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "dev"],
"cwd": "apps/web",
"port": 3000,
"autoPort": true
},
{
"name": "api",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "start"],
"cwd": "server",
"port": 8080,
"env": { "NODE_ENV": "development" },
"autoPort": false
}
]
}
Node.js script
패키지 매니저 명령 대신 Node.js 스크립트를 직접 실행하려면 program 필드를 사용합니다:
{
"version": "0.0.1",
"configurations": [
{
"name": "server",
"program": "server.js",
"args": ["--verbose"],
"port": 4000
}
]
}
반복 작업 예약하기
예약 작업은 설정한 시간과 빈도에 따라 자동으로 새 로컬 세션을 시작합니다. 일일 코드 리뷰, 의존성 업데이트 확인, 캘린더와 받은 편지함에서 정보를 가져오는 아침 브리핑 같은 반복 작업에 사용하세요.
작업은 로컬 머신에서 실행되므로 데스크톱 앱이 열려 있고 컴퓨터가 깨어 있어야 실행됩니다. 누락된 실행과 보정 동작에 대한 자세한 내용은 예약 작업 실행 방식을 참조하세요.
참고: 기본적으로 예약 작업은 커밋되지 않은 변경 사항을 포함하여 작업 디렉토리의 현재 상태에 대해 실행됩니다. 프롬프트 입력에서 worktree 토글을 활성화하면 병렬 세션과 동일한 방식으로 각 실행에 격리된 Git worktree가 제공됩니다.
예약 작업을 생성하려면 사이드바에서 Schedule을 클릭한 다음 + New task를 클릭합니다. 다음 필드를 설정하세요:
| 필드 | 설명 |
|---|---|
| Name | 작업의 식별자입니다. 소문자 kebab-case로 변환되어 디스크의 폴더 이름으로 사용됩니다. 작업 전체에서 고유해야 합니다. |
| Description | 작업 목록에 표시되는 짧은 요약입니다. |
| Prompt | 작업이 실행될 때 Claude에게 전송되는 지시입니다. 프롬프트 박스에서 메시지를 작성하는 것과 동일하게 작성합니다. 프롬프트 입력에는 모델, 권한 모드, 작업 폴더, worktree 제어도 포함됩니다. |
| Frequency | 작업이 실행되는 빈도입니다. 아래 빈도 옵션을 참조하세요. |
아무 세션에서나 원하는 것을 설명하여 작업을 생성할 수도 있습니다. 예를 들어, "매일 오전 9시에 실행되는 일일 코드 리뷰를 설정해 줘."
빈도 옵션
- Manual: 일정 없이 Run now을 클릭할 때만 실행됩니다. 필요할 때 트리거하는 프롬프트를 저장하는 데 유용합니다
- Hourly: 매시간 실행됩니다. 각 작업은 API 트래픽을 분산하기 위해 정시부터 최대 10분의 고정 오프셋을 가집니다
- Daily: 시간 선택기가 표시되며, 기본값은 현지 시간 오전 9:00입니다
- Weekdays: Daily와 동일하지만 토요일과 일요일을 건너뜁니다
- Weekly: 시간 선택기와 요일 선택기가 표시됩니다
선택기에서 제공하지 않는 간격(15분마다, 매월 1일 등)의 경우 아무 Desktop 세션에서 Claude에게 일정을 설정하도록 요청하세요. 자연어를 사용합니다. 예를 들어, "6시간마다 모든 테스트를 실행하는 작업을 예약해 줘."
예약 작업 실행 방식
예약 작업은 로컬 머신에서 실행됩니다. Desktop은 앱이 열려 있는 동안 매분 일정을 확인하고 작업 시간이 되면 수동 세션과 독립적으로 새 세션을 시작합니다. 각 작업은 API 트래픽을 분산하기 위해 예약 시간 이후 최대 10분의 고정 지연을 가집니다. 지연은 결정적입니다: 동일한 작업은 항상 동일한 오프셋에서 시작합니다.
작업이 실행되면 데스크톱 알림을 받고 사이드바의 Scheduled 섹션 아래에 새 세션이 나타납니다. 열어서 Claude가 수행한 작업을 확인하거나, 변경 사항을 검토하거나, 권한 프롬프트에 응답할 수 있습니다. 세션은 다른 세션과 동일하게 작동합니다: Claude가 파일을 편집하고, 명령을 실행하고, 커밋을 생성하고, 풀 리퀘스트를 열 수 있습니다.
작업은 데스크톱 앱이 실행 중이고 컴퓨터가 깨어 있는 동안에만 실행됩니다. 컴퓨터가 예약 시간에 슬립 상태이면 실행이 건너뛰어집니다. 유휴 슬립을 방지하려면 설정의 Desktop app → General에서 Keep computer awake를 활성화하세요. 노트북 뚜껑을 닫으면 여전히 슬립 상태가 됩니다.
누락된 실행
앱이 시작되거나 컴퓨터가 깨어나면 Desktop은 지난 7일 동안 각 작업의 누락된 실행이 있는지 확인합니다. 있다면 Desktop은 가장 최근에 누락된 시간에 대해 정확히 한 번의 보정 실행을 시작하고 이전 것은 폐기합니다. 6일을 놓친 일일 작업은 깨어날 때 한 번 실행됩니다. 보정 실행이 시작되면 Desktop이 알림을 표시합니다.
프롬프트를 작성할 때 이 점을 염두에 두세요. 오전 9시로 예약된 작업이 하루 종일 컴퓨터가 슬립 상태였다면 오후 11시에 실행될 수 있습니다. 시간이 중요한 경우 프롬프트 자체에 가드레일을 추가하세요. 예를 들어: "오늘 커밋만 리뷰해. 오후 5시 이후면 리뷰를 건너뛰고 놓친 내용의 요약만 게시해."
예약 작업의 권한
각 작업에는 작업을 생성하거나 편집할 때 설정하는 자체 권한 모드가 있습니다. ~/.claude/settings.json의 Allow 규칙도 예약 작업 세션에 적용됩니다. 작업이 Ask 모드에서 실행되고 권한이 없는 도구를 실행해야 하는 경우 승인할 때까지 실행이 중단됩니다. 세션은 나중에 응답할 수 있도록 사이드바에 열려 있습니다.
중단을 방지하려면 작업을 생성한 후 Run now을 클릭하고 권한 프롬프트를 확인한 다음 각각에 대해 "always allow"를 선택하세요. 해당 작업의 향후 실행은 프롬프트 없이 동일한 도구를 자동 승인합니다. 작업의 세부 정보 페이지에서 이러한 승인을 검토하고 취소할 수 있습니다.
예약 작업 관리
Schedule 목록에서 작업을 클릭하여 세부 정보 페이지를 엽니다. 여기에서 다음을 수행할 수 있습니다:
- Run now: 다음 예약 시간을 기다리지 않고 즉시 작업 시작
- Toggle repeats: 작업을 삭제하지 않고 예약 실행 일시 중지 또는 재개
- Edit: 프롬프트, 빈도, 폴더 또는 기타 설정 변경
- Review history: 컴퓨터가 슬립 상태여서 건너뛴 실행을 포함한 모든 과거 실행 확인
- Review allowed permissions: Always allowed 패널에서 이 작업에 대해 저장된 도구 승인 확인 및 취소
- Delete: 작업 제거 및 생성된 모든 세션 아카이브
아무 Desktop 세션에서 Claude에게 요청하여 작업을 관리할 수도 있습니다. 예를 들어, "dependency-audit 작업을 일시 중지해 줘", "standup-prep 작업을 삭제해 줘", "예약된 작업을 보여줘."
디스크에서 작업의 프롬프트를 편집하려면 ~/.claude/scheduled-tasks/<task-name>/SKILL.md를 열어보세요 (CLAUDE_CONFIG_DIR가 설정된 경우 해당 경로 아래). 파일은 name과 description에 YAML frontmatter를 사용하며 본문이 프롬프트입니다. 변경 사항은 다음 실행부터 적용됩니다. 일정, 폴더, 모델, 활성화 상태는 이 파일에 없습니다: Edit 양식을 통해 변경하거나 Claude에게 요청하세요.
환경 설정
세션을 시작할 때 선택하는 환경에 따라 Claude가 실행되는 위치와 연결 방식이 결정됩니다:
- Local: 파일에 직접 접근하여 로컬 머신에서 실행
- Remote: Anthropic의 클라우드 인프라에서 실행. 앱을 닫아도 세션이 계속됩니다.
- SSH: SSH를 통해 연결하는 원격 머신에서 실행, 예: 자체 서버, 클라우드 VM, 개발 컨테이너
로컬 세션
로컬 세션은 셸의 환경 변수를 상속합니다. 추가 변수가 필요한 경우 ~/.zshrc나 ~/.bashrc 같은 셸 프로필에 설정하고 데스크톱 앱을 재시작하세요. 지원되는 변수의 전체 목록은 환경 변수를 참조하세요.
확장 사고는 기본적으로 활성화되어 있어 복잡한 추론 작업의 성능을 향상시키지만 추가 토큰을 사용합니다. 사고를 완전히 비활성화하려면 셸 프로필에서 MAX_THINKING_TOKENS=0을 설정하세요. Opus에서는 적응형 추론이 사고 깊이를 대신 제어하므로 0을 제외하고 MAX_THINKING_TOKENS가 무시됩니다.
원격 세션
원격 세션은 앱을 닫아도 백그라운드에서 계속됩니다. 사용량은 별도의 컴퓨팅 비용 없이 구독 플랜 한도에 포함됩니다.
다양한 네트워크 접근 수준과 환경 변수를 가진 사용자 정의 클라우드 환경을 만들 수 있습니다. 원격 세션을 시작할 때 환경 드롭다운을 선택하고 Add environment를 선택하세요. 네트워크 접근과 환경 변수 설정에 대한 자세한 내용은 클라우드 환경을 참조하세요.
SSH 세션
SSH 세션을 사용하면 데스크톱 앱을 인터페이스로 사용하면서 원격 머신에서 Claude Code를 실행할 수 있습니다. 클라우드 VM, 개발 컨테이너, 특정 하드웨어나 종속성이 있는 서버에 있는 코드베이스로 작업할 때 유용합니다.
SSH 연결을 추가하려면 세션을 시작하기 전에 환경 드롭다운을 클릭하고 + Add SSH connection을 선택합니다. 대화 상자에서 다음을 입력합니다:
- Name: 이 연결의 친숙한 레이블
- SSH Host:
user@hostname또는~/.ssh/config에 정의된 호스트 - SSH Port: 비워두면 기본값 22, 또는 SSH 설정의 포트 사용
- Identity File: 개인 키 경로, 예:
~/.ssh/id_rsa. 기본 키 또는 SSH 설정을 사용하려면 비워두세요.
추가되면 환경 드롭다운에 연결이 나타납니다. 선택하여 해당 머신에서 세션을 시작합니다. Claude는 해당 머신의 파일과 도구에 접근하여 원격 머신에서 실행됩니다.
원격 머신에 Claude Code가 설치되어 있어야 합니다. 연결되면 SSH 세션은 권한 모드, 커넥터, 플러그인, MCP 서버를 지원합니다.
엔터프라이즈 설정
Teams 또는 Enterprise 플랜의 조직은 관리 콘솔 제어, 관리형 설정 파일, 기기 관리 정책을 통해 데스크톱 앱 동작을 관리할 수 있습니다.
관리 콘솔 제어
이 설정은 관리 설정 콘솔을 통해 구성됩니다:
- Code 탭 활성화 또는 비활성화: 조직의 사용자가 데스크톱 앱에서 Claude Code에 접근할 수 있는지 제어
- Bypass permissions 모드 비활성화: 조직의 사용자가 bypass permissions 모드를 활성화하지 못하도록 방지
- Claude Code on the web 비활성화: 조직의 원격 세션 활성화 또는 비활성화
관리형 설정
관리형 설정은 프로젝트 및 사용자 설정을 재정의하며 Desktop이 CLI 세션을 생성할 때 적용됩니다. 조직의 관리형 설정 파일에서 이 키를 설정하거나 관리 콘솔을 통해 원격으로 푸시할 수 있습니다.
| 키 | 설명 |
|---|---|
disableBypassPermissionsMode | 사용자가 Bypass permissions 모드를 활성화하지 못하도록 "disable"로 설정합니다. 관리형 설정을 참조하세요. |
allowManagedPermissionRulesOnly 및 allowManagedHooksOnly를 포함한 관리형 전용 설정의 전체 목록은 관리형 전용 설정을 참조하세요.
관리 콘솔을 통해 업로드된 원격 관리형 설정은 현재 CLI 및 IDE 세션에만 적용됩니다. Desktop 전용 제한의 경우 위의 관리 콘솔 제어를 사용하세요.
기기 관리 정책
IT 팀은 macOS의 MDM이나 Windows의 그룹 정책을 통해 데스크톱 앱을 관리할 수 있습니다. 사용 가능한 정책에는 Claude Code 기능 활성화 또는 비활성화, 자동 업데이트 제어, 사용자 정의 배포 URL 설정이 포함됩니다.
- macOS: Jamf나 Kandji 같은 도구를 사용하여
com.anthropic.Claudepreference domain을 통해 구성 - Windows:
SOFTWARE\Policies\Claude레지스트리를 통해 구성
인증 및 SSO
엔터프라이즈 조직은 모든 사용자에게 SSO를 요구할 수 있습니다. 플랜별 세부 사항은 인증을, SAML 및 OIDC 설정은 SSO 설정을 참조하세요.
데이터 처리
Claude Code는 로컬 세션에서는 로컬로, 원격 세션에서는 Anthropic의 클라우드 인프라에서 코드를 처리합니다. 대화와 코드 컨텍스트는 처리를 위해 Anthropic의 API로 전송됩니다. 데이터 보존, 개인정보 보호, 규정 준수에 대한 자세한 내용은 데이터 처리를 참조하세요.
배포
Desktop은 엔터프라이즈 배포 도구를 통해 배포할 수 있습니다:
- macOS:
.dmg설치 프로그램을 사용하여 Jamf나 Kandji 같은 MDM을 통해 배포 - Windows: MSIX 패키지 또는
.exe설치 프로그램으로 배포. 자동 설치를 포함한 엔터프라이즈 배포 옵션은 Windows용 Claude Desktop 배포를 참조하세요
프록시 설정, 방화벽 허용 목록, LLM 게이트웨이 같은 네트워크 설정은 네트워크 설정을 참조하세요.
전체 엔터프라이즈 설정 참조는 엔터프라이즈 설정 가이드를 확인하세요.
CLI에서 전환하셨나요?
이미 Claude Code CLI를 사용하고 있다면 Desktop은 동일한 기반 엔진을 그래픽 인터페이스로 실행합니다. 동일한 머신, 심지어 동일한 프로젝트에서 두 가지를 동시에 실행할 수 있습니다. 각각은 별도의 세션 히스토리를 유지하지만 CLAUDE.md 파일을 통해 설정과 프로젝트 메모리를 공유합니다.
CLI 세션을 Desktop으로 이동하려면 터미널에서 /desktop을 실행하세요. Claude가 세션을 저장하고 데스크톱 앱에서 열린 후 CLI를 종료합니다. 이 명령은 macOS와 Windows에서만 사용할 수 있습니다.
팁: Desktop과 CLI 사용 시기: 시각적 diff 리뷰, 파일 첨부, 사이드바에서의 세션 관리를 원하면 Desktop을 사용하세요. 스크립팅, 자동화, 서드파티 프로바이더가 필요하거나 터미널 워크플로우를 선호하면 CLI를 사용하세요.
CLI 플래그 대응표
이 표는 일반적인 CLI 플래그에 대한 데스크톱 앱의 대응 항목을 보여줍니다. 나열되지 않은 플래그는 스크립팅이나 자동화용으로 설계되어 Desktop에 대응 항목이 없습니다.
| CLI | Desktop 대응 항목 |
|---|---|
--model sonnet | 세션 시작 전 전송 버튼 옆의 모델 드롭다운 |
--resume, --continue | 사이드바에서 세션 클릭 |
--permission-mode | 전송 버튼 옆의 모드 선택기 |
--dangerously-skip-permissions | Bypass permissions 모드. 설정 → Claude Code → "Allow bypass permissions mode"에서 활성화. 엔터프라이즈 관리자는 이 설정을 비활성화할 수 있습니다. |
--add-dir | 원격 세션에서 + 버튼으로 여러 리포 추가 |
--allowedTools, --disallowedTools | Desktop에서는 사용할 수 없음 |
--verbose | 사용할 수 없음. 시스템 로그 확인: macOS의 Console.app, Windows의 Event Viewer → Windows Logs → Application |
--print, --output-format | 사용할 수 없음. Desktop은 대화형 전용입니다. |
ANTHROPIC_MODEL 환경 변수 | 전송 버튼 옆의 모델 드롭다운 |
MAX_THINKING_TOKENS 환경 변수 | 셸 프로필에서 설정; 로컬 세션에 적용됩니다. 환경 설정을 참조하세요. |
공유 설정
Desktop과 CLI는 동일한 설정 파일을 읽으므로 설정이 이어집니다:
- **CLAUDE.md**와 CLAUDE.local.md 파일은 프로젝트에서 둘 다 사용됩니다
- MCP 서버:
~/.claude.json또는.mcp.json에서 설정된 서버가 둘 다에서 작동합니다 - **훅**과 스킬: 설정에 정의된 항목이 둘 다에 적용됩니다
- 설정:
~/.claude.json과~/.claude/settings.json의 설정이 공유됩니다.settings.json의 권한 규칙, 허용된 도구, 기타 설정이 Desktop 세션에 적용됩니다. - 모델: Sonnet, Opus, Haiku가 둘 다에서 사용 가능합니다. Desktop에서는 세션 시작 전 전송 버튼 옆의 드롭다운에서 모델을 선택합니다. 활성 세션 중에는 모델을 변경할 수 없습니다.
참고: MCP 서버: 데스크톱 채팅 앱 vs Claude Code: Claude Desktop 채팅 앱의
claude_desktop_config.json에 설정된 MCP 서버는 Claude Code와 별개이며 Code 탭에 나타나지 않습니다. Claude Code에서 MCP 서버를 사용하려면~/.claude.json또는 프로젝트의.mcp.json파일에서 설정하세요. 자세한 내용은 MCP 설정을 참조하세요.
기능 비교
이 표는 CLI와 Desktop 간의 핵심 기능을 비교합니다. CLI 플래그의 전체 목록은 CLI 참조를 확인하세요.
| 기능 | CLI | Desktop |
|---|---|---|
| 권한 모드 | dontAsk를 포함한 모든 모드 | Ask permissions, Auto accept edits, Plan mode, 설정을 통한 Bypass permissions |
--dangerously-skip-permissions | CLI 플래그 | Bypass permissions 모드. 설정 → Claude Code → "Allow bypass permissions mode"에서 활성화 |
| 서드파티 프로바이더 | Bedrock, Vertex, Foundry | 사용 불가. Desktop은 Anthropic의 API에 직접 연결됩니다. |
| MCP 서버 | 설정 파일에서 구성 | 로컬 및 SSH 세션용 Connectors UI 또는 설정 파일 |
| 플러그인 | /plugin 명령 | 플러그인 관리자 UI |
| @멘션 파일 | 텍스트 기반 | 자동완성 기능 포함 |
| 파일 첨부 | 사용 불가 | 이미지, PDF |
| 세션 격리 | --worktree 플래그 | 자동 worktrees |
| 다중 세션 | 별도 터미널 | 사이드바 탭 |
| 반복 작업 | cron 작업, CI 파이프라인 | 예약 작업 |
| 스크립팅 및 자동화 | --print, Agent SDK | 사용 불가 |
Desktop에서 사용할 수 없는 기능
다음 기능은 CLI 또는 VS Code 확장에서만 사용할 수 있습니다:
- 서드파티 프로바이더: Desktop은 Anthropic의 API에 직접 연결됩니다. Bedrock, Vertex, Foundry를 사용하려면 CLI를 사용하세요.
- Linux: 데스크톱 앱은 macOS와 Windows에서만 사용할 수 있습니다.
- 인라인 코드 제안: Desktop은 자동완성 스타일의 제안을 제공하지 않습니다. 대화형 프롬프트와 명시적 코드 변경을 통해 작동합니다.
- 에이전트 팀: 멀티 에이전트 오케스트레이션은 CLI와 Agent SDK를 통해 사용할 수 있으며 Desktop에서는 사용할 수 없습니다.
문제 해결
버전 확인
데스크톱 앱의 실행 버전을 확인하려면:
- macOS: 메뉴 바에서 Claude를 클릭한 다음 About Claude
- Windows: Help를 클릭한 다음 About
버전 번호를 클릭하면 클립보드에 복사됩니다.
Code 탭에서 403 또는 인증 오류
Code 탭에서 Error 403: Forbidden이나 기타 인증 실패가 발생하면:
- 앱 메뉴에서 로그아웃한 후 다시 로그인합니다. 가장 일반적인 해결 방법입니다.
- 활성 유료 구독이 있는지 확인합니다: Pro, Max, Teams, 또는 Enterprise.
- CLI는 작동하지만 Desktop이 작동하지 않는 경우, 창을 닫는 것이 아니라 데스크톱 앱을 완전히 종료한 후 다시 열고 로그인합니다.
- 인터넷 연결과 프록시 설정을 확인합니다.
실행 시 빈 화면 또는 멈춤
앱이 열리지만 빈 화면이나 응답하지 않는 화면이 표시되면:
- 앱을 재시작합니다.
- 보류 중인 업데이트를 확인합니다. 앱은 실행 시 자동 업데이트됩니다.
- Windows에서는 Windows Logs → Application의 Event Viewer에서 크래시 로그를 확인합니다.
"Failed to load session"
Failed to load session이 표시되면 선택한 폴더가 더 이상 존재하지 않거나, Git 리포지토리에 설치되지 않은 Git LFS가 필요하거나, 파일 권한이 접근을 방지하고 있을 수 있습니다. 다른 폴더를 선택하거나 앱을 재시작해 보세요.
세션에서 설치된 도구를 찾지 못함
Claude가 npm, node 또는 기타 CLI 명령을 찾지 못하면, 일반 터미널에서 도구가 작동하는지 확인하고, 셸 프로필이 PATH를 올바르게 설정하는지 확인한 다음, 데스크톱 앱을 재시작하여 환경 변수를 다시 로드하세요.
Git 및 Git LFS 오류
Windows에서 Git은 Code 탭이 로컬 세션을 시작하는 데 필수입니다. "Git is required"가 표시되면 Git for Windows를 설치하고 앱을 재시작하세요.
"Git LFS is required by this repository but is not installed"가 표시되면 git-lfs.com에서 Git LFS를 설치하고 git lfs install을 실행한 다음 앱을 재시작하세요.
Windows에서 MCP 서버가 작동하지 않음
Windows에서 MCP 서버 토글이 응답하지 않거나 서버 연결에 실패하면, 설정에서 서버가 올바르게 구성되어 있는지 확인하고, 앱을 재시작하고, 작업 관리자에서 서버 프로세스가 실행 중인지 확인하고, 서버 로그에서 연결 오류를 검토하세요.
앱이 종료되지 않음
- macOS: Cmd+Q를 누르세요. 앱이 응답하지 않으면 Cmd+Option+Esc로 강제 종료를 사용하고, Claude를 선택한 다음 Force Quit을 클릭하세요.
- Windows: Ctrl+Shift+Esc로 작업 관리자를 사용하여 Claude 프로세스를 종료하세요.
Windows 관련 문제
- 설치 후 PATH가 업데이트되지 않음: 새 터미널 창을 여세요. PATH 업데이트는 새 터미널 세션에만 적용됩니다.
- 동시 설치 오류: 다른 설치가 진행 중이라는 오류가 표시되지만 실제로는 그렇지 않은 경우, 관리자 권한으로 설치 프로그램을 실행해 보세요.
- ARM64: Windows ARM64 기기는 완전히 지원됩니다.
Intel Mac에서 Cowork 탭 사용 불가
Cowork 탭은 macOS에서 Apple Silicon (M1 이상)이 필요합니다. Windows에서는 지원되는 모든 하드웨어에서 Cowork을 사용할 수 있습니다. Chat 및 Code 탭은 Intel Mac에서 정상 작동합니다.
"Branch doesn't exist yet" - CLI에서 열 때
원격 세션은 로컬 머신에 존재하지 않는 브랜치를 생성할 수 있습니다. 세션 도구 모음에서 브랜치 이름을 클릭하여 복사한 다음 로컬에서 가져오세요:
git fetch origin <branch-name>
git checkout <branch-name>
여전히 해결되지 않나요?
- GitHub Issues에서 검색하거나 버그를 제출하세요
- Claude 지원 센터를 방문하세요
버그를 제출할 때 데스크톱 앱 버전, 운영 체제, 정확한 오류 메시지, 관련 로그를 포함하세요. macOS에서는 Console.app을, Windows에서는 Event Viewer → Windows Logs → Application을 확인하세요.