claude.com/download 에서 받는다. 실행할 때 자동으로 업데이트를 확인한다. Git 은 대개 이미 깔려 있다 — git --version 이 버전을 뱉으면 된 것이다.
네 서피스를 한 문서로 결합했다. 항목 777개 전부 — core만 추리는 A3 치트시트와 달리 세부까지 들어간다. 생성 2026-08-31 · 5dbd94f
데스크톱 앱의 Code 탭. 브라우저 pane·diff 리뷰·워크스페이스. · 섹션 33개 · 항목 177개
데스크톱 앱은 CLI 와 설정 공유, 조작 체계는 별개. 같은 기능도 이름이 다를 수 있음.
claude.com/download 에서 받는다. 실행할 때 자동으로 업데이트를 확인한다. Git 은 대개 이미 깔려 있다 — git --version 이 버전을 뱉으면 된 것이다.
설치 직후 PATH 가 반영되지 않으면 새 터미널 창을 열어야 한다 — 이미 열려 있던 창에는 적용되지 않는다. "다른 설치가 진행 중"이라는 오류가 근거 없이 뜨면 설치 관리자를 관리자 권한으로 실행한다.
베타다. 업데이트는 패키지 관리자로 하고(자동 업데이트가 아니다), Computer Use 는 아직 Linux 앱에 없다.
Code
설치 후 로그인 → 탭 클릭
설치 후 앱을 실행하고 Anthropic 계정으로 로그인한다. 세 탭 중 Code 탭을 클릭해서 소프트웨어 개발 기능을 사용한다. CLI와 세션과 설정을 공유한다.
CLI 와 같은 엔진에 그래픽 인터페이스를 얹은 것이라, 같은 기기·같은 프로젝트에서 둘을 동시에 돌려도 된다. 세션 이력만 각자 따로 남고 설정과 CLAUDE.md 는 공유한다.
macOS는 Claude → About Claude, Windows는 Help → About
버전 번호를 클릭하면 클립보드로 복사된다. 문제를 신고할 때는 앱 버전·OS·정확한 오류 메시지를 함께 넣는다. 패널 배치·터미널·파일 편집기·뷰 모드는 v1.2581.0 이상에서만 있다.
Windows는 Git for Windows 필요 (설치 후 앱 재시작)
탭마다 다루는 대상이 별개. 현재 탭 위치가 사용 가능 기능을 결정.
Chat
일반 대화
일반적인 텍스트 대화를 위한 탭. 코드 작성 없이 아이디어를 브레인스토밍하거나 설명을 요청할 때 사용한다.
Cowork
Dispatch·장기 에이전틱 작업
장기 실행 작업과 에이전트 협업을 위한 탭. 백그라운드 작업을 관리하고 여러 에이전트가 같은 작업에 협력할 수 있다.
스킬·플러그인·커넥터의 출처가 Code 탭과 다르다 — Cowork 는 사이드바의 Customize 설정(claude.ai 계정으로 동기화)에서 가져오고, CLI 의 ~/.claude 디렉터리를 읽지 않는다. Dispatch 도 이 탭에 산다.
Code
소프트웨어 개발 (이 치트시트 범위)
소프트웨어 개발을 위한 전용 탭. 파일 읽기·쓰기, 명령 실행, Git 작업 등 개발에 필요한 모든 기능이 여기에 있다. 이 치트시트는 주로 이 탭을 기준으로 작성되었다.
세션 시작 위치가 접근 가능한 파일 범위 결정.
Environment
Local/Cloud/SSH/WSL(Win) 선택
첫 메시지를 보내기 전에 정하는 값이고, 이후 기능 가용성의 대부분이 여기서 갈린다. @멘션·커넥터·플러그인·터미널·사이드 채팅이 환경에 따라 있거나 없다. Cloud 는 앱을 닫아도 계속 돌고, SSH 는 원격 머신에서 돌고, WSL 은 Windows 의 리눅스 쪽에서 돈다.
Project folder
작업할 폴더·저장소 선택
여기서 고른 폴더가 프리뷰 서버의 작업 디렉터리도 된다 — 부모 폴더를 고르면 하위 폴더의 dev 서버는 자동 감지되지 않는다. 클라우드 세션은 저장소를 여러 개 붙일 수 있다.
Model
전송 버튼 옆 드롭다운(세션 중 변경 가능)
CLI 의 --model 과 ANTHROPIC_MODEL 환경변수에 대응한다. 세션 중간에 같은 드롭다운에서 바꿀 수 있고, 사용 가능한 모델 목록은 CLI 와 같다.
Permission mode
모드 선택기(세션 중 변경 가능)
새 로컬 세션의 기본값은 설정 파일의 permissions.defaultMode 로 정한다. 선택기에서 고른 모드는 폴더별로 기억되고 그 폴더에서는 defaultMode 보다 우선한다 — Plan 만 예외로 현재 세션에만 적용된다.
CLI 와 같은 개념, UI 라벨 표기만 차이. API 식별자 대조 필요 시 CLI 시트 참고.
Manual (default)
편집·명령 전 항상 확인
설정 키는 default. 편집·명령 전에 매번 묻고, diff 를 보고 건별로 수락·거부한다. 예전 버전에서는 이 모드가 Ask permissions 라는 이름이었다.
Accept edits
파일편집+기본 명령 자동승인
설정 키는 acceptEdits. 파일 편집과 mkdir·touch·mv 같은 기본 파일시스템 명령은 자동 승인하고, 그 밖의 터미널 명령은 여전히 묻는다. 예전 이름은 Auto accept edits.
Plan
탐색만, 편집 전 계획 제시
설정 키는 plan. 파일을 읽고 명령으로 탐색하되 소스는 고치지 않고 계획을 제시한다. 복잡한 작업은 Plan 으로 시작해 접근을 합의한 뒤 Accept edits 나 Manual 로 옮겨 실행하는 순서가 권장된다. 폴더별 기억 대상이 아니라 현재 세션에만 적용된다.
Auto
백그라운드 안전검사로 대부분 자동
설정 키는 auto. 요청과의 정합성을 백그라운드 분류기가 검사하면서 대부분을 자동 실행한다 — 감독을 유지한 채 확인 횟수만 줄이는 쪽이다.
계정 조건을 만족하면 선택기에 나타나고 별도 설정 토글은 없다. Anthropic API 에서는 전체 사용자에게 열려 있고 Opus 4.6+ · Sonnet 4.6+ · Fable 5 가 필요하다. 조직은 disableAutoMode 로 끌 수 있다.
Bypass permissions
프롬프트 없음, 격리 환경 전용
설정 키는 bypassPermissions, CLI 의 --dangerously-skip-permissions 와 같다. 그래도 예외는 남는다 — 어떤 모드도 자동 승인하지 않는 행위, 외부 사이트에서의 안전 분류기, 세션 보관처럼 데스크톱이 항상 먼저 묻는 조작.
샌드박스 컨테이너나 VM 에서만 쓸 것. 클라우드 세션에서는 아예 제공되지 않는다(자체 호스팅 환경 포함).
Accept edits · Plan · Auto 만 — Accept edits 가 default 에 대응
클라우드 세션은 파일 편집을 미리 승인하므로 선택기에 Manual 대신 Accept edits 가 뜨고, 그것이 default 모드에 대응한다. Bypass permissions 는 없다. 엔터프라이즈 관리자는 어떤 모드를 쓸 수 있는지 제한할 수 있다.
Bypass: Pro/Max는 설정→Claude Code 토글, Team/Enterprise는 조직 정책. dontAsk 모드는 CLI 전용
입력창에서 바로 쓸 수 있는 참조·첨부 문법.
중단하지 않고 방향만 바꾸는 것이 기본 동작이다. Claude 는 현재 동작이 끝나는 즉시 정정을 읽고 다음 단계 전에 반영한다. 지금 하는 일을 즉시 멈춰야 할 때만 정지 버튼을 쓴다.
키보드로는 Esc. 진행 중인 도구 호출까지 끊는다.
CLI 의 텍스트 기반 @멘션과 달리 자동완성이 붙는다. 파일을 대화 컨텍스트에 넣어 Claude 가 읽고 참조할 수 있게 한다.
CLI 에는 없는 기능이다. 버그 스크린샷, 디자인 목업, 참고 문서를 그대로 넘길 때 쓴다. 첨부 버튼으로도 되고 입력창에 끌어다 놓아도 된다.
+
버튼: 파일첨부/스킬/커넥터/플러그인
커넥터와 플러그인 항목은 로컬·SSH 세션에서만 뜬다(클라우드·WSL 에는 없다). 스킬은 / 를 직접 입력해 찾는 것과 같은 목록이다.
데스크톱에서 쓸 수 있는 슬래시 명령. 터미널 전용 대화형 명령은 여기서 동작 불가.
/
/ 입력 또는 +→Slash commands 로 탐색 (내장 명령어 + 커스텀·프로젝트·플러그인 스킬)
고르면 입력창에 강조된 채로 들어가고, 뒤에 할 일을 이어 적어 보낸다. Claude 가 작업 중일 때도 다른 메시지처럼 보낼 수 있다(v2.1.206+). 그 전 버전에서는 턴 중간에 보낸 명령이 세션을 실행 중 상태로 붙잡아 이후 메시지가 전달되지 않았다.
/clear, /compact, /context
새 대화 시작/요약/컨텍스트 확인
데스크톱은 컨텍스트가 차면 자동으로 요약하고 계속 진행한다 — /compact 는 그 시점을 앞당겨 직접 부르는 것이다. 사용량은 모델 선택기 옆 사용량 링에서도 볼 수 있다.
/rewind, /diff
체크포인트 롤백 / diff 뷰어
데스크톱에서는 diff 를 명령 없이도 볼 수 있다 — 변경 후 뜨는 +12 -1 표시를 클릭하거나 Cmd/Ctrl+Shift+D 로 diff 패널을 연다.
/model, /effort, /plan
모델·추론강도 변경 / 계획 모드
셋 다 UI 에 대응 메뉴가 있다 — Cmd/Ctrl+Shift+I(모델), Cmd/Ctrl+Shift+E(추론 강도), Cmd/Ctrl+Shift+M(권한 모드). 열린 메뉴에서는 1~9 로 바로 고른다.
/rename, /branch, /export
이름변경/대화분기/내보내기
이름 변경은 상단 툴바의 세션 제목을 클릭해서도 된다. 며칠 뒤 사이드바에서 찾을 때 이름이 붙어 있는지가 갈린다.
/code-review, /security-review
diff 검토 / 보안 취약점 검사
diff 뷰어 우상단의 Review code 버튼이 같은 성격의 UI 진입점이다. 그쪽은 컴파일 오류·명백한 논리 오류·보안 취약점·확실한 버그에 집중하고 스타일은 보지 않는다.
/background, /tasks, /fork
백그라운드 분리/작업목록/복사
/tasks 가 여는 것과 같은 내용을 Views 메뉴의 Tasks 패널로 상시 띄워 둘 수 있다 — 서브에이전트·백그라운드 셸·동적 워크플로의 진행이 여기 모인다.
/loop, /goal, /recap, /insights
반복실행/목표설정/요약/분석
정기 반복은 데스크톱에는 Scheduled tasks 라는 별도 기능이 있다 — CLI 에서 cron·CI 로 하던 자리다. /insights 는 이 기기의 기록을 분석하므로 클라우드 세션에서는 못 쓴다.
/btw
사이드 채팅 열기
Cmd/Ctrl+; 와 같은 것을 연다. 본 대화 컨텍스트는 읽지만 기록에는 남지 않는다.
/desktop
(터미널에서) 세션을 데스크톱으로 이동
터미널에서 실행하면 세션을 저장해 데스크톱 앱에서 열고 CLI 는 종료된다. macOS 와 x64 Windows, Claude 구독 로그인에서만 된다 — API 키 인증이나 Bedrock·Agent Platform·Foundry 에서는 쓸 수 없다.
/ide, /mcp, /doctor, /usage
IDE·MCP 관리/진단/사용량
MCP 는 데스크톱에서 Connectors UI 로도 관리된다. 사용량은 사용량 링이 같은 정보를 준다.
/permissions 등 터미널 전용 대화형 명령어는 "isn't available in this environment" 응답. /config 는 인자 무시하고 설정 화면만 열림
앱 안에서 로컬 서버를 띄워 결과 바로 확인. 코드 수정과 화면 확인의 왕복 단축.
프런트엔드만이 아니다 — 백엔드 서버도 대상이다. API 엔드포인트를 때려 보고 서버 로그를 읽고 찾은 문제를 고치는 것까지 같은 창에서 돈다.
자동 검증(autoVerify)은 기본 켜짐이다. 프로젝트별로 .claude/launch.json 에 "autoVerify": false 를 넣거나 서버 드롭다운에서 끌 수 있고, 끈 뒤에도 도구는 남아 있어 필요할 때 직접 검증을 요청할 수 있다.
세션 툴바의 서버 드롭다운에서 시작·중지, 전체 중지, 그리고 Edit configuration 으로 .claude/launch.json 을 편집기에서 열 수 있다.
Persist sessions
: 재시작해도 쿠키·로컬스토리지 유지
서버 드롭다운에서 켠다. 개발 중에 매번 다시 로그인하지 않아도 되는 것이 요점이다. 저장된 세션 데이터를 지우거나 Browser 를 아예 끄는 것은 설정 → Claude Code 쪽이다.
같은 경로를 파일 패널에서 열려고 해도 이 넷은 Browser pane 으로 간다. 로컬 dev 서버와 프로젝트 파일은 승인 카드 없이 열리므로 자동 검증이 막히지 않는다.
외부 사이트를 여는 경로. 문서에서 본 내용을 그대로 지시로 받아들이지 않도록 주의.
Browser pane 은 탭 브라우저다. 돌고 있는 앱 옆에 문서·이슈 트래커를 나란히 둘 수 있다. 채팅의 외부 링크를 클릭하면 앱 안에서 열지(Open in app) 기본 브라우저로 보낼지 묻고, Cmd(macOS)·Ctrl(Windows) 클릭은 곧바로 시스템 브라우저로 보낸다.
Allow once 는 아무것도 저장하지 않고, Always allow 는 그 사이트 승인을 이 기기에 저장한다(설정에서 철회 가능).
검사는 두 겹이다 — 클릭·입력 같은 쓰기 동작은 모든 권한 모드에서 안전 분류기가 보고, Auto·Bypass 를 뺀 모드에서는 새 사이트로 이동하기 전에 도메인 허용 목록 검사가 한 번 더 붙는다.
승인된 사이트에서도 구매·계정 생성·CAPTCHA 우회는 내 입력 없이는 하지 않는다.
Browser pane 은 깨끗한 프로필이다 — 내 로그인도 이력도 없다. 앱을 만들고 테스트하는 일과 신원이 필요 없는 사이트는 이쪽, 내 로그인 세션에서 나처럼 행동해야 하는 일은 Chrome 확장 쪽이다.
Chrome 확장용으로 이미 만들어 둔 허용·차단 목록을 Browser 가 그대로 따른다.
관리 설정 두 개가 층이 다르다 — browserExternalPageTools: "disabled" 는 사람은 계속 돌아다닐 수 있고 Claude 의 도구만 외부 페이지에서 못 읽고 못 누르게 한다. disableBrowserExternalNavigation: true 는 사람과 Claude 양쪽의 외부 이동을 막는다 (localhost 미리보기와 파일 미리보기는 그대로).
Managed settings: disableAutoMode, sshHostAllowlist, managedMcpServers 등
변경을 시각적으로 훑고 그 자리에서 코멘트 작성.
왼쪽에 파일 목록, 오른쪽에 그 파일의 변경이 뜬다. PR 을 만들기 전에 파일 단위로 훑는 자리다. Cmd/Ctrl+Shift+D 로도 열고 닫는다.
줄을 클릭하면 코멘트 상자가 열리고 Enter 로 코멘트가 붙는다. 여러 줄에 달아 두고 Cmd/Ctrl+Enter 로 한꺼번에 제출하면 Claude 가 그것들을 읽고 고친 결과를 새 diff 로 준다.
한 건씩 말로 지시하는 것보다 이쪽이 낫다 — 지적이 코드 위치에 붙어 있어 어디를 말하는지가 해석 대상이 되지 않는다.
Review code
버튼: 컴파일오류·명백한 버그·보안취약점 위주(스타일은 안 봄)
diff 뷰어 우상단에 있다. 커밋 전에 변경을 평가하게 하고, 코멘트가 diff 뷰어 안에 달린다. 각 코멘트에 답하거나 수정을 요청할 수 있다.
보는 것: 컴파일 오류, 확실한 논리 오류, 보안 취약점, 명백한 버그. 보지 않는 것: 스타일·서식·기존 문제·린터가 잡을 것.
PR 상태를 앱 안에서 추적.
gh 로 체크 결과를 주기적으로 물어 실패를 표면에 올린다. gh 가 없으면 PR 을 처음 만들려 할 때 설치를 안내한다. 인증까지 되어 있어야 한다.
Auto-fix
: 실패한 체크 자동 수정 시도
CI 상태 바의 토글로 켠다. 실패 출력을 읽고 고침을 반복한다 — 터미널 쪽 /autofix-pr 이 클라우드 세션으로 같은 일을 맡기는 형태다.
Auto-merge
: 모든 체크 통과 시 squash 병합(GitHub에서 auto-merge 먼저 활성화 필요)
병합 방식은 squash 고정이다. GitHub 저장소 설정에서 auto-merge 를 먼저 켜 두지 않으면 Claude 가 병합할 수 없다 — 토글은 켜지지만 병합이 되지 않는 상태가 된다.
CI 가 끝나면 OS 알림이 온다. PR 이 병합·닫히면 세션까지 자동으로 보관하려면 설정 → Claude Code 의 auto-archive 를 켠다(로컬 세션 중 실행이 끝난 것에만 적용된다).
여러 세션·패널을 동시에 두는 배치.
패널: chat·diff·browser·terminal·file·plan·tasks·subagent (+macOS는 iOS 시뮬레이터)
Code 탭 자체가 이 패널들을 임의 배치하는 구조로 되어 있다. CLI 와 데스크톱을 나누는 실질적인 차이가 이것이다 — 같은 엔진이지만 변경·미리보기·터미널을 한 화면에 나란히 둘 수 있다.
패널 배치·터미널·파일 편집기·뷰 모드는 Claude Desktop v1.2581.0 이상이 필요하다. macOS 는 Claude → Check for Updates, Windows 는 Help → Check for Updates.
Views
메뉴에서 패널 추가
세션 툴바의 Views 메뉴에서 패널을 추가한다. tasks·subagent 패널은 여기서만 열 수 있고, 이 둘이 백그라운드 작업의 진행과 출력을 보는 창구다.
세션 두 개를 분할해 보고 있을 때도 같은 키로 포커스된 쪽을 닫아 단일 세션으로 돌아온다.
앱 안의 터미널과 편집기. 별도 창을 오갈 필요 감소.
환경을 공유하는 것이 요점이다 — npm test·git status 가 Claude 가 편집하는 것과 같은 파일을 본다. 별도 터미널 앱에서 돌리면 워크트리가 달라 다른 사본을 보게 된다.
탭을 하나 더 열려면 패널 헤더의 +, 또는 채팅에서 폴더를 우클릭해 Open in terminal.
로컬·SSH 세션에서만 된다(클라우드 세션은 Claude 에게 고치라고 하는 편이 맞다). HTML·PDF·이미지·영상은 파일 패널이 아니라 Browser pane 으로 열린다.
열어 둔 사이에 디스크에서 파일이 바뀌면 경고가 뜨고 덮어쓰기·버리기를 고르게 한다. 패널 헤더의 경로를 클릭하면 절대경로가 복사된다.
채팅·diff 뷰어·파일 패널 어디서든 경로를 우클릭하면 같은 메뉴가 뜬다. Open in 은 VS Code·Cursor·Zed 처럼 설치된 편집기로 넘긴다.
무엇을 크게 볼지 고르는 축.
Normal
도구 호출 요약 + 전체 텍스트 응답
기본값. 도구 호출은 요약으로 접히고 텍스트 응답은 전문이 보인다.
Verbose
모든 도구 호출·중간 단계 표시
Claude 가 왜 그 행동을 했는지 따질 때 쓴다. 모든 도구 호출·파일 읽기·중간 단계가 보인다. CLI 의 --verbose 에 대응한다.
Summary
최종 응답과 변경사항만
세션을 여러 개 돌리며 결과만 빠르게 훑을 때 쓴다. 최종 응답과 변경만 남는다.
Ctrl+O 로 순환 전환
전송 버튼 옆 Transcript view 드롭다운에서도 고른다. Ctrl+O 는 macOS·Windows 모두 Ctrl 이다(Cmd 가 아니다).
데스크톱 전용 단축키. 터미널 CLI 와 같은 키라도 동작이 다를 수 있음.
Cmd/Ctrl + /
단축키 목록 표시
Code 탭에서 쓸 수 있는 단축키 전체를 앱 안에서 띄운다. 아래 표가 낡았을 때의 정본이다.
Cmd/Ctrl + N
새 세션
Cmd/Ctrl + W
세션 닫기
Ctrl+Tab / Shift+Tab
다음/이전 세션
정확히는 Ctrl+Tab / Ctrl+Shift+Tab 이고, 세션 순환·터미널 토글·뷰 모드 토글은 모든 플랫폼에서 Ctrl 이다(macOS 에서도 Cmd 가 아니다).
Cmd/Ctrl + Shift + ] / [
다음/이전 세션 (대체 키)
Ctrl+Tab 이 터미널 에뮬레이터나 창 관리자에 먹히는 환경에서 쓸 수 있는 같은 동작의 키다.
Esc
응답 중단
Cmd/Ctrl + Shift + D
diff 패널 토글
Cmd/Ctrl + Shift + B
Browser 패널 토글
Cmd/Ctrl + Shift + S
Browser 요소 선택
Browser pane 에서 요소를 집어 대화에 넘긴다 — "이 버튼"을 말로 설명하는 대신 지목한다.
Ctrl + `
터미널 패널 토글
Cmd/Ctrl + \
포커스 패널 닫기
Cmd/Ctrl + ;
사이드 챗 열기
Ctrl + O
뷰 모드 순환
Cmd/Ctrl + Shift + M
권한 모드 메뉴
Cmd/Ctrl + Shift + I
모델 메뉴
Cmd/Ctrl + Shift + E
effort 메뉴
1–9
열린 메뉴에서 항목 선택
모델(Cmd/Ctrl+Shift+I)·권한 모드(Cmd/Ctrl+Shift+M)·추론 강도(Cmd/Ctrl+Shift+E) 메뉴를 열고 숫자만 눌러 고르는 흐름이 가장 빠르다.
Code 탭 전용 — 터미널 CLI의 Shift+Tab 등과는 다름
사용량과 한도를 앱 안에서 확인.
모델 선택기 옆 사용량 링 클릭 → 컨텍스트 사용량(세션별) + 플랜 사용량(전체 서피스 공유)
두 숫자의 층이 다르다. 컨텍스트 사용량은 세션별이고, 플랜 사용량은 모든 Claude Code 서피스가 공유한다 — 터미널에서 쓴 것도 여기 합산된다.
컨텍스트가 차면 데스크톱은 자동으로 대화를 요약하고 계속 간다. 그 시점을 앞당기려면 /compact 를 직접 부른다.
별도 컴퓨트 과금 없음 — 구독 플랜 한도에 합산
클라우드 세션도 별도의 컴퓨트 요금이 붙지 않고 구독 플랜 한도에 들어간다. 앱을 닫아도 계속 도는 성질과 합치면, 오래 걸리는 작업을 로컬에 붙잡아 둘 이유가 적다.
실제 데스크톱 조작. 샌드박스 안의 Bash 와는 신뢰 경계가 별개.
가장 넓고 가장 느린 수단이다. Claude 는 정밀한 것부터 시도한다 — 커넥터가 있으면 커넥터, 셸 명령이면 Bash, 브라우저 작업이고 Claude in Chrome 이 있으면 그것, iOS 앱 실행·테스트면 iOS 시뮬레이터 패널, 그 어느 것도 아닐 때 화면 조작이다.
그래서 화면 조작이 남는 자리는 다른 수단이 닿지 못하는 것 — 네이티브 앱, 하드웨어 제어판, API 없는 사내 도구다.
리서치 프리뷰다. Linux 앱에는 아직 없고, Claude Desktop 앱이 실행 중이어야 한다.
Windows 는 토글만 켜면 끝이고, macOS 는 시스템 권한 두 개가 더 필요하다 — 손쉬운 사용(클릭·입력·스크롤)과 화면 기록(화면을 보는 것). 설정 화면이 각 권한의 현재 상태를 보여주고, 거부 상태의 배지를 누르면 해당 시스템 설정으로 연결된다.
꺼진 상태에서 화면 조작이 필요한 일을 시키면, Claude 가 "켜면 할 수 있다"고 알려준다.
앱 범주에 따라 고정되어 있고 내가 바꿀 수 없다. View only 는 스크린샷으로 보는 것까지, Click only 는 클릭·스크롤까지(입력·단축키 불가), Full control 은 끌기·단축키까지.
브라우저를 view only, 터미널·IDE 를 click only 로 묶어 둔 것은 전용 도구를 쓰도록 밀어내는 장치다. 터미널·파인더/탐색기·시스템 설정처럼 파급이 큰 앱은 승인 카드에 경고가 더 붙는다.
앱을 처음 쓸 때 세션에 카드가 뜨고 Allow for this session 또는 Deny 를 고른다.
설정 → General 에 두 가지가 더 있다 — Denied apps 는 묻지도 않고 거부할 앱 목록, Unhide apps when Claude finishes 는 작업 중 숨겨 둔 다른 창을 끝나고 되돌릴지 여부다 (작업 중에는 승인된 앱만 다루도록 나머지 창을 숨긴다).
Computer use 를 켜지 않아도 동작 (macOS)
iOS 앱을 돌리고 테스트할 때는 화면 조작이 아니라 전용 패널이 열린다. 이 패널은 computer use 를 켜지 않아도 쓸 수 있다. 조직은 disableMobileSimulatorTools 로 Claude 의 접근만 막을 수 있고(사람의 조작은 남는다).
실제 데스크톱을 조작 — 샌드박스 Bash와는 다른 신뢰 경계
세션 목록·이름·재개. 이름을 붙여두면 며칠 뒤 찾기가 훨씬 수월.
사이드바의 + New session 과 같다. 세션마다 컨텍스트와 변경이 독립이다. 상단 컨트롤로 상태·프로젝트·환경별 필터와 프로젝트별 묶어 보기를 쓸 수 있고, 이름 변경은 활성 세션 툴바의 제목을 클릭해서 한다.
작업이 끝났는데 내가 그 세션을 보고 있지 않으면 OS 알림이 온다.
Git worktree
Git 저장소는 세션마다 자동 워크트리로 격리(.claude/worktrees/)
기본 위치는 <프로젝트 루트>/.claude/worktrees/ 이고, 설정 → Claude Code 의 Worktree location 에서 바꿀 수 있다. 브랜치 이름 앞에 붙일 접두어도 정할 수 있어 Claude 가 만든 브랜치를 묶어 두기 쉽다.
.env 처럼 gitignore 된 파일을 새 워크트리에 넣어야 하면 프로젝트 루트에 .worktreeinclude 파일을 만든다 — 이것을 모르면 새 세션마다 환경변수가 없어 서버가 안 뜬다.
세션 격리에는 Git 이 필요하다. Windows 는 Git 이 없으면 Code 탭 자체가 동작하지 않는다.
분할 중에 사이드바의 다른 세션을 클릭하면 포커스가 있는 쪽이 교체된다. Cmd/Ctrl+\ 로 포커스된 패널을 닫으면 단일 세션으로 돌아온다.
보관은 워크트리를 정리하는 동작이기도 하다 — 사이드바에서 세션에 마우스를 올리고 보관 아이콘을 누른다. 자동 보관은 설정 → Claude Code 의 Auto-archive after PR merge or close 이고, 실행이 끝난 로컬 세션에만 적용된다.
본 작업 흐름을 끊지 않고 옆에서 질문.
Cmd/Ctrl+; 또는 /btw 로 열기 — 메인 세션 컨텍스트는 읽지만 기록엔 안 남음, 앱 종료 시 사라짐 (로컬·SSH·WSL만)
한쪽 방향으로만 통한다 — 그 시점까지의 본 대화를 읽지만, 여기서 주고받은 것은 본 대화에 아무것도 남기지 않는다. 코드 한 조각을 이해하거나 가정을 확인하려고 본 작업의 방향을 틀지 않아도 되는 것이 요점이다.
끝나면 닫고 본 세션을 이어 간다. 디스크에 저장되지 않으므로 앱을 닫으면 돌아갈 수 없다 — 남겨야 하는 결론은 본 대화로 옮겨 적어야 한다.
오래 걸리는 작업을 떼어내고 다른 일 병행.
현재 세션 안에서 도는 것들만 모인다. Views 메뉴에서 열거나 배치에 끌어다 둔다. 항목을 클릭하면 subagent 패널에서 출력을 보거나 그 자리에서 세울 수 있다.
다른 세션이 무엇을 하는지는 사이드바를 보거나 Claude 에게 물어야 한다.
"인증 리팩터를 건드린 세션이 뭐야?", "API 세션은 어떤 결론을 냈어?", "결제 세션에 스키마 바뀌었다고 전해줘" 처럼 말로 시킨다. 메시지는 받는 쪽에 보낸 세션의 제목과 되돌아가는 링크가 붙은 카드로 뜨고, 받는 세션이 작업 중이면 그 턴이 끝난 뒤 읽는다.
안전 장치가 넷 있다 — ① 보관은 모든 권한 모드에서 먼저 승인을 묻는다(Auto·Bypass 포함) ② 아무도 보고 있지 않은 세션(예약 실행 등)에서는 보내지도 받지도 못한다 ③ 받는 쪽의 crossSessionInbound: refuse 설정이 우선한다 ④ 들어온 메시지는 인용되고 보낸 세션이 명시된다.
보관된 세션에는 전달되지 않는다 — 전달 실패는 알려 준다.
데스크톱 앱이 직접 돌리는 세션만 보인다 — Code 탭의 로컬·SSH·WSL 세션. 클라우드 세션, 터미널 CLI 로 띄운 세션, VS Code 확장의 세션은 같은 프로젝트의 워크트리라도 보이지 않는다(터미널 워크트리 9개와 데스크톱 세션 2개가 열려 있으면, 한쪽에서 물었을 때 나머지 데스크톱 세션 1개만 답한다).
기본은 최근 활동 20개이고 보관된 것은 요청해야 포함된다. 지금 묻고 있는 세션 자신은 절대 목록에 넣지 않는다. 터미널 세션까지 메시지를 보내려면 교차 세션 메시징 쪽이다.
범위를 벗어난 발견을 새 세션으로 떼어내는 제안
현재 작업 범위를 벗어나지만 고칠 만한 것을 발견하면 Claude 가 칩으로 제안한다. 누르면 자기 워크트리를 가진 새 세션에서 그 일이 시작되고, 지금 세션은 끊기지 않는다. 본 작업의 diff 를 부풀리지 않고 발견을 남기는 장치다.
실행을 웹으로 올려 기기를 닫아도 계속 진행.
대규모 리팩터, 테스트 스위트, 마이그레이션처럼 오래 걸리는 것을 올리는 자리다. Anthropic 관리 인프라에서 돌고, 컴퓨터를 끄더라도 계속 간다. 중간에 들어가 방향을 바꿀 수도 있다.
클라우드 환경을 고른 뒤 저장소 칩 옆 + 로 추가하고, 저장소마다 브랜치 선택기가 따로 붙는다. 공용 라이브러리와 그것을 쓰는 쪽을 함께 고치는 작업에 쓴다. CLI 의 --add-dir 에 해당하는 자리다.
Continue in
메뉴: 웹 세션으로 전송 또는 IDE로 열기
세션 툴바 오른쪽 아래의 VS Code 아이콘에서 연다.
웹으로 보내기 — 브랜치를 푸시하고 대화 요약을 만들어 전체 맥락을 가진 클라우드 세션을 새로 만든다. 로컬 세션은 보관하거나 남겨 둘 수 있다. 작업 트리가 깨끗해야 하고 SSH 세션에서는 쓸 수 없다.
IDE 로 열기 — 현재 작업 디렉터리에서 프로젝트를 지원 IDE 로 연다.
클라우드 세션이 만든 브랜치는 fetch 가 필요
클라우드 세션은 내 기기에 없는 브랜치를 만들 수 있다. CLI 에서 열려다 "Branch doesn't exist yet" 이 나오면 세션 툴바의 브랜치 이름을 클릭해 복사한 뒤 가져온다.
git fetch origin <branch-name>
git checkout <branch-name>
여러 작업을 한 번에 흩뿌려 돌리는 탭.
Dispatch 는 Cowork 탭에 사는 지속되는 대화다. 일을 던지면 어떻게 처리할지 스스로 정한다.
Code 세션이 되는 경로는 둘 — 내가 직접 요청하거나("Claude Code 세션 열어서 로그인 버그 고쳐줘"), Dispatch 가 개발 작업이라고 판단해 스스로 띄우는 것. 버그 수정·의존성 갱신· 테스트 실행·PR 열기는 대개 Code 로, 조사·문서 편집·스프레드시트는 Cowork 에 남는다.
터미널에서 떨어져 있을 때 쓰는 여러 방법 중 하나다 — 원격 제어(/remote-control)나 웹 세션과는 성격이 다르다. 이쪽은 일을 던져 두고 결과를 기다리는 형태다.
computer use 를 켜 두면 Dispatch 가 띄운 Code 세션도 화면 조작을 쓸 수 있는데, 이때 앱 승인이 30분마다 만료되고 다시 묻는다(일반 세션은 세션 내내 유지).
외부 서비스를 UI 에서 바로 연결. MCP 직접 설정 전에 여기부터 확인.
+
버튼 → Connectors: Google Calendar/Slack/GitHub/Linear/Notion 등 (로컬·SSH만, 클라우드·WSL 불가)
커넥터는 그래픽 설정 흐름이 붙은 MCP 서버다. 목록에 있는 서비스는 이쪽이 빠르고, 없는 것은 설정 파일로 MCP 서버를 직접 붙인다. 세션 시작 전에도 중간에도 추가할 수 있다.
붙이면 캘린더를 읽고 메시지를 보내고 이슈를 만드는 일을 바로 시킬 수 있다. 지금 세션에 무엇이 붙어 있는지 Claude 에게 물어봐도 된다.
설정→Connectors 에서 관리·연결 해제
프롬프트 박스의 Connectors 메뉴에서 Manage connectors 로도 같은 화면에 간다. 클라우드·WSL 세션에는 + 버튼이 없고, 클라우드에서 커넥터가 필요하면 루틴을 만들 때 함께 지정한다.
커넥터·스킬·플러그인을 한 자리에서 관리
사이드바의 Customize 에서 셋을 함께 관리한다. 주의할 점은 출처다 — Cowork 탭은 이 Customize 설정(claude.ai 계정 동기화)에서 스킬·플러그인·커넥터를 가져오고, CLI 의 ~/.claude 디렉터리를 읽지 않는다. Code 탭의 로컬 세션과 서로 다른 목록을 볼 수 있다.
앱에서 스킬·플러그인 관리. CLI 와 같은 파일 체계 사용.
+
/ 입력 또는 →Slash commands 로 내장 명령어·커스텀 스킬·플러그인 스킬 탐색
어느 스킬이 보이는지가 환경에 따라 다르다. 로컬 세션은 ~/.claude/skills/ 의 개인 스킬, SSH 세션은 원격 호스트의 ~/.claude/skills/(내 기기가 아니다), 클라우드 세션은 claude.ai 계정에서 켠 스킬을 불러온다.
+
→Plugins: 설치된 플러그인 확인, "Add plugin"으로 마켓플레이스 설치
터미널 없이 설치할 수 있다. Add plugin 이 플러그인 브라우저를 열고 설정된 마켓 (공식 Anthropic 마켓 포함)의 목록을 보여준다. Manage plugins 로 활성·비활성·삭제. 스코프는 CLI 와 같이 user·project·local 중에서 고른다.
정확히는 플러그인 브라우저가 클라우드 세션에 없고, 데스크톱에서 설치한 플러그인도 클라우드 세션에서는 쓰이지 않는다. 클라우드에서 쓰려면 둘 중 하나다 — 저장소 .claude/settings.json 의 enabledPlugins 에 적어 세션 시작 때 설치되게 하거나, claude.ai 계정에서 켜서 동기화된 플러그인으로 불러오게 하는 것. WSL 세션에는 아예 없다.
미리보기로 띄울 서버를 프로젝트에 정의. 자동 감지된 설정이 이 파일에 저장되고, 주석 있는 JSON 을 받는다.
name / runtimeExecutable
식별자 / 실행 명령
runtimeExecutable 은 npm·yarn·node 처럼 실행할 명령이다. 파일은 세션을 시작할 때 고른 폴더의 루트에 저장되고 그 폴더가 프리뷰의 작업 디렉터리가 된다 — 부모 폴더로 세션을 열면 하위 폴더의 dev 서버는 자동 감지되지 않는다.
configurations 배열에 여러 개를 정의해 프런트엔드와 API 를 같이 띄울 수 있다.
{
"version": "0.0.1",
"configurations": [
{ "name": "my-app", "runtimeExecutable": "npm",
"runtimeArgs": ["run", "dev"], "port": 3000 }
]
}
runtimeArgs / args
명령 인자
runtimeArgs 는 runtimeExecutable 에 넘기는 인자(["run", "dev"]), args 는 program 을 쓸 때만 쓰이는 인자다.
서버 포트
비워 두면 3000 이다. Claude 가 다른 포트를 잡게 되면 PORT 환경변수로 그 값을 서버에 넘긴다 — 서버가 그 변수를 읽지 않으면 엉뚱한 포트를 계속 열게 된다.
cwd / env
작업 디렉토리 / 환경변수
cwd 는 프로젝트 루트 기준 상대 경로이고, 루트를 명시하려면 ${workspaceFolder} 를 쓴다. env 는 { "NODE_ENV": "development" } 같은 추가 환경변수다.
이 파일은 저장소에 커밋된다 — 비밀값을 env 에 넣지 말 것. dev 서버에 비밀값을 넘겨야 하면 로컬 환경변수 편집기를 쓴다.
autoPort
포트 충돌 시 자동 재할당 여부
세 가지 상태가 있고 기본값이 "묻는다" 라는 점이 중요하다.
true — 빈 포트를 찾아 쓴다(대부분의 dev 서버에 적합). false — 오류로 실패한다. OAuth 콜백이나 CORS 허용 목록처럼 그 포트여야 하는 서버에 쓴다. 지정하지 않음 — 그 포트가 꼭 필요한지 한 번 묻고 답을 저장한다.
program / url
node 스크립트 직접 실행 / 접속 주소
program 은 node 로 바로 돌릴 단독 스크립트다("program": "server.js" → node server.js). 패키지 매니저를 거쳐 띄우는 것은 runtimeExecutable 쪽이다.
url 은 http://localhost:<port> 대신 열 주소다 — 로컬 HTTPS, *.localhost 서브도메인, 리다이렉트로 로그인하는 앱이 여기 해당한다. localhost 주소는 오리진만 허용된다 (경로·쿼리 불가, 포트는 항목의 port 와 일치해야 한다). 특정 페이지를 보려면 프리뷰가 열린 뒤 이동을 요청한다.
명령 없이 url 만 두면 내가 이미 돌리고 있는 서버에 프리뷰를 붙인다.
localhost 가 아닌 주소는 처음 열 때 승인을 묻는다(외부 사이트 탐색과 같은 규칙). 조직의 외부 사이트 정책도 그대로 적용된다.
autoVerify: 기본 켜짐(수정마다 자동 검증), false로 끌 수 있음
autoVerify 는 configurations 안이 아니라 최상위에 둔다. 켜져 있으면 파일을 고칠 때마다 스크린샷을 찍고 오류를 확인하고 동작을 검증한 뒤 응답을 끝낸다.
끄더라도 프리뷰 도구는 남아 있어 언제든 검증을 요청할 수 있다 — 자동인지 수동인지의 차이다.
{
"version": "0.0.1",
"autoVerify": false,
"configurations": [ ... ]
}
로컬·클라우드·자체 호스팅 중 실행 위치가 접근 가능 자원 결정.
Local
내 컴퓨터에서 직접 실행
앱이 내 셸 환경을 전부 물려받지는 않는다. macOS 에서 Dock·Finder 로 실행하면 ~/.zshrc·~/.bashrc 를 읽되 PATH 와 정해진 몇 개의 Claude Code 변수만 가져오고, 거기서 export 한 다른 변수는 오지 않는다. Windows 는 사용자·시스템 환경변수는 물려받지만 PowerShell 프로필은 읽지 않는다.
그래서 변수를 넣는 자리가 따로 있다 — 프롬프트 박스의 환경 드롭다운에서 Local 에 마우스를 올리고 톱니 아이콘을 누르면 로컬 환경변수 편집기가 열린다. 여기 넣은 값은 암호화되어 저장되고 모든 로컬 세션과 프리뷰 서버에 적용된다. ~/.claude/settings.json 의 env 키는 Claude 세션에만 닿고 dev 서버에는 닿지 않는다.
npm·node 를 못 찾는다면 대개 이 문제다 — 셸에서는 되는데 앱에서 안 되면 앱을 재시작해 환경을 다시 읽게 한다.
Cloud
Anthropic 관리 인프라, 앱 꺼도 계속 실행
사용량은 구독 플랜 한도에 합산되고 별도 컴퓨트 과금은 없다. 네트워크 접근 수준과 환경변수가 다른 커스텀 클라우드 환경을 만들 수 있다 — 클라우드 세션을 시작할 때 환경 드롭다운에서 Add cloud environment.
제약도 함께 온다: @멘션·커넥터·플러그인 브라우저·터미널·파일 편집기·사이드 채팅이 없고, 권한 모드는 Accept edits·Plan·Auto 만 있다.
SSH
원격 머신 연결 (Linux·macOS만)
환경 드롭다운의 + Add SSH connection 으로 추가한다. 물어보는 값은 넷 — Name(표시용 이름), SSH Host(user@hostname 또는 ~/.ssh/config 의 호스트), SSH Port(비우면 22 또는 SSH 설정의 값), Identity File(비우면 기본 키·SSH 설정).
원격은 Linux 또는 macOS 여야 하고, 처음 붙을 때 Claude Code 를 자동으로 설치한다. 붙은 뒤에는 권한 모드·커넥터·플러그인·MCP 서버가 다 된다. 스킬은 원격 홈의 ~/.claude/skills/ 를 읽는다.
관리자는 sshHostAllowlist 로 붙을 수 있는 호스트를 제한하고 sshConfigs 로 연결을 미리 배포할 수 있다. 빈 배열이면 SSH 세션 자체가 막힌다.
Managed settings: disableAutoMode, sshHostAllowlist, managedMcpServers 등
WSL (Windows)
WSL2 배포판 안에서 실행
WSL 2 배포판 안에서 그쪽 리눅스 툴체인과 네이티브 경로를 쓴다. @멘션·커넥터·플러그인은 WSL 세션에 없다(사이드 채팅은 된다).
조직 정책이 개인 설정보다 우선.
claude.ai/admin-settings/claude-code 에서 네 가지를 켜고 끈다 — Code in the desktop(조직 구성원의 데스크톱 Code 접근), Code in the web(웹 세션), Remote Control, Disable Bypass permissions mode.
관리 설정은 프로젝트·사용자 설정을 덮어쓴다. 데스크톱에 걸리는 주요 키:
permissions.disableBypassPermissionsMode · disableAutoMode(모드 선택기에서 Auto 제거) · autoMode(분류기가 무엇을 신뢰·차단할지) · browserExternalPageTools(외부 페이지에서 Claude 의 도구만 차단) · disableBrowserExternalNavigation(외부 이동 자체 차단) · disableMobileSimulatorTools · sshConfigs · sshHostAllowlist · managedMcpServers.
어디까지 닿는지는 세션 위치가 정한다 — 로컬은 디스크의 관리 설정 파일, 클라우드는 서버 관리 설정(디스크 파일은 닿지 않는다), SSH 는 원격 호스트의 파일을 읽는다.
macOS 는 com.anthropic.claudefordesktop 환경설정 도메인, Windows 는 레지스트리 SOFTWARE\Policies\Claude 다. 여기서 다루는 것은 Claude Code 기능의 on/off, 자동 업데이트 제어, 사용자 지정 배포 URL 이다.
엔터프라이즈는 전체 사용자에게 SSO 강제 가능 (SAML·OIDC)
조직 단위로 SSO 를 필수화할 수 있다. SAML 설정은 지원 문서, OIDC 는 엔터프라이즈 관리자 가이드에 있다.
데이터가 어디까지 나가는지에 대한 규칙.
주요 허용 도메인: anthropic.com, claude.ai, claude.com, claude.app, *.claudeusercontent.com (HTTPS 443)
앱 코드와 사용자 콘텐츠를 Anthropic CDN 에서 받으므로 이들이 막히면 빈 화면이 된다. 와일드카드까지 포함한 목록에 *.claudemcpcontent.com 도 있다.
트래픽은 443 HTTPS 다 — OTLP 모니터링·LLM 게이트웨이·MCP 서버에 사용자 지정 포트를 쓰는 경우만 예외다.
아티팩트가 Google Fonts 를 쓰면 fonts.googleapis.com · fonts.gstatic.com 도 요청한다. 막을 때는 조용히 버리지 말고 즉시 거절해야 첫 렌더가 지연되지 않는다.
개별 호스트 지정 — 다만 일부 서브도메인은 동적 생성이라 와일드카드 유지 필요
api.anthropic.com · a-api.anthropic.com · a-cdn.anthropic.com · s-cdn.anthropic.com · assets-proxy.anthropic.com · a.claude.ai · a-cdn.claude.ai · assets.claude.ai · downloads.claude.ai · platform.claude.com 처럼 개별 호스트로 좁힐 수 있다.
와일드카드로 남겨야 하는 것: *.livepreview.claude.ai · *.livepreview.claude.app · *.claudeusercontent.com · *.claudemcpcontent.com.
로컬 세션은 로컬 처리, 클라우드 세션은 Anthropic 관리 인프라에서 코드·대화 컨텍스트 처리
정확히는 로컬·SSH 세션은 배포에 설정된 모델 공급자(기본은 Anthropic API)로 대화와 코드 컨텍스트를 보내고, 클라우드 세션은 Anthropic API 로 보낸다. 조직이 자체 호스팅 환경으로 라우팅하면 클라우드 세션의 실행 위치가 그쪽으로 바뀐다.
CLI 명령이 데스크톱에서 무엇에 해당하는지 대조표. 목록에 없는 플래그는 스크립팅용이라 대응이 없다.
--model sonnet
모델 드롭다운
--resume, --continue
사이드바에서 세션 클릭
데스크톱은 세션이 사이드바에 상시 늘어서 있으므로 재개가 곧 클릭이다. 상태·프로젝트·환경으로 걸러 볼 수 있다.
--permission-mode
모드 선택기
Cmd/Ctrl+Shift+M 으로 열고 1~9 로 고른다. 고른 값은 폴더별로 기억된다.
--dangerously-skip-permissions
Bypass permissions 모드
Pro·Max 는 설정 → Claude Code 의 Allow bypass permissions mode 를 먼저 켜야 선택기에 나타나고, Team·Enterprise 는 개인 토글이 없고 조직 정책이 정한다.
--add-dir
클라우드 세션의 + 버튼(저장소 추가)
클라우드 세션에만 있는 대응이다. 로컬 세션에서 다른 폴더를 붙이는 UI 는 없으므로, 필요하면 그 폴더에서 세션을 새로 시작하거나 CLI 를 쓴다.
--allowedTools/--disallowedTools
세션별 대응 없음(설정파일 규칙은 적용)
세션 단위로 도구를 열고 닫는 UI 가 없다. 다만 설정 파일의 권한 규칙은 데스크톱 세션에도 그대로 적용된다 — ~/.claude/settings.json 이나 프로젝트 설정에 규칙으로 적는다.
--verbose
Verbose 뷰 모드
--print, --output-format
미지원 (대화형 전용)
데스크톱은 대화형 전용이다. 스크립팅·자동화는 CLI 의 --print 나 Agent SDK 쪽이고, 이 축은 데스크톱으로 옮겨오지 않는다.
ANTHROPIC_MODEL
모델 드롭다운
환경변수로 모델을 고정하는 대신 드롭다운에서 고른다. 세션 중간에도 같은 곳에서 바꾼다.
MAX_THINKING_TOKENS
로컬 환경변수 에디터
확장 사고는 기본 켜짐이다. Anthropic API 에서 끄려면 로컬 환경변수 편집기에서 이 값을 0 으로 둔다 — 단, Fable 5 는 항상 확장 사고를 쓰므로 효과가 없다.
적응형 추론을 쓰는 모델에서는 0 이외의 값이 무시된다(추론 깊이를 적응형이 정한다). Opus 4.6·Sonnet 4.6 에서 고정 예산으로 돌리려면 CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1. Fable 5·Sonnet 5·Opus 4.7 이상은 항상 적응형이고 고정 예산 모드가 없다.
같은 일을 어디서 하는 게 나은지 판단하는 표.
CLI는 dontAsk 포함 전체 / 데스크톱은 4종+Bypass
데스크톱은 Manual·Accept edits·Plan·Auto 이고, Bypass permissions 는 조건을 만족하면 선택기에 추가된다. dontAsk(미리 승인한 도구만 허용)는 CLI 전용이다.
CLI는 Bedrock 등 / 데스크톱은 기본 Anthropic API
데스크톱을 Bedrock·Agent Platform·Foundry 나 자체 호스팅 LLM 게이트웨이로 돌리는 경로는 따로 있다(게이트웨이 연결·3P 배포 문서). 기본 구성에서는 Anthropic API 다.
CLI는 설정파일 / 데스크톱은 Connectors UI 또는 설정파일
Connectors UI 는 로컬·SSH 세션에서만 뜬다. 목록에 없는 서비스는 양쪽 모두 설정 파일로 직접 붙인다.
CLI는 /plugin / 데스크톱은 플러그인 관리자 UI
CLI는 텍스트 기반 / 데스크톱은 자동완성(로컬·SSH만)
CLI 불가 / 데스크톱은 이미지·PDF 지원
CLI는 --worktree / 데스크톱은 자동 worktree
CLI는 터미널 여러 개 / 데스크톱은 사이드바 탭
데스크톱을 쓸 이유가 가장 분명한 항목이다 — 세션이 한 창에 모이고, 두 개를 나란히 볼 수 있고, 각자 워크트리가 자동으로 붙는다.
CLI는 cron/CI / 데스크톱은 Scheduled tasks
Computer Use
CLI는 macOS /mcp 활성화 / 데스크톱은 앱 내장
CLI는 Computer Use로 구동 / 데스크톱은 전용 패널
데스크톱의 전용 패널은 computer use 를 켜지 않아도 동작한다 — 화면 조작을 켜야만 되는 CLI 쪽과 다른 점이다.
Dispatch
CLI 없음 / 데스크톱은 사이드바 지원
CLI 전용 / 데스크톱은 없음 — 대신 동적 워크플로 사용
팀장이 공용 작업 목록에서 동료에게 일을 배분하는 방식은 CLI 에만 있다. 데스크톱에서 한 세션 안의 다중 에이전트가 필요하면 동적 워크플로를 쓰거나, Claude 에게 다른 세션을 확인·메시지하게 한다.
CLI는 --print·Agent SDK / 데스크톱 미지원
양쪽 모두 없음 — 자동완성형 제안은 제공하지 않음
데스크톱은 편집기 자동완성 같은 제안을 하지 않는다. 대화로 지시하고 명시적으로 코드를 바꾸는 방식이다 — IDE 확장을 대체하는 물건이 아니라는 뜻이다.
터미널이 나은 상황과 앱이 나은 상황의 구분.
병렬 세션 관리, 패널 배치, 변경사항 시각적 검토 → 데스크톱
셋 다 화면을 넓게 쓰는 일이다. 세션 여러 개를 한 창에서 돌리고, 미리보기·터미널·diff 를 나란히 두고, diff 의 줄에 코멘트를 달아 한꺼번에 넘긴다. 여기에 데스크톱만 있는 것이 더 붙는다 — 파일 첨부, iOS 시뮬레이터 패널, Dispatch, Scheduled tasks, 앱·화면 조작.
스크립팅, 자동화, 터미널 워크플로우 선호 → CLI
--print·Agent SDK·dontAsk 모드·에이전트 팀은 CLI 에만 있다. 파이프로 잇거나 CI 에서 돌리는 것도 이쪽이다.
둘을 고르는 문제가 아니다 — 같은 엔진이고 설정을 공유하므로 같은 프로젝트에서 동시에 쓰다가 /desktop 으로 세션을 옮길 수도 있다.
증상별 확인 순서. 채팅에 뜨는 API 오류(500·429·Prompt is too long)는 CLI·웹과 원인·해법이 같다.
순서가 있다 — ① 앱 메뉴에서 로그아웃·재로그인(가장 흔한 해결) ② Pro·Max·Team· Enterprise 구독이 살아 있는지 ③ CLI 는 되는데 앱만 안 되면 창을 닫는 것이 아니라 앱을 완전히 종료한 뒤 다시 열어 로그인 ④ 네트워크·프록시 설정.
macOS·Windows 는 실행할 때 자동 업데이트되고 Linux 는 apt 로 직접 올린다. 관리망이면 CDN 호스트 허용 여부를 확인한다 — 앱 코드 자체를 CDN 에서 받으므로 막히면 화면이 비어 보인다. Windows 는 이벤트 뷰어의 Windows 로그 → 응용 프로그램 에 크래시 로그가 남는다.
원인은 셋 중 하나다 — 고른 폴더가 더 이상 없거나, 저장소가 Git LFS 를 요구하는데 없거나, 파일 권한이 막고 있는 것. LFS 는 설치 후 git lfs install 까지 돌리고 앱을 재시작한다.
Windows 에서는 Git 이 없으면 Code 탭의 로컬 세션이 아예 시작되지 않는다(세션 격리가 워크트리에 기대기 때문이다). 설치 후 PATH 는 새 터미널에만 반영되므로 앱도 재시작한다.
토글이 반응하지 않거나 연결이 실패할 때의 순서다. 서버 로그의 연결 오류까지 확인한다.
앱이 셸 프로필을 전부 읽지 않기 때문에 생긴다. 일반 터미널에서 그 도구가 되는지 확인하고, 셸 프로필이 PATH 를 제대로 세우는지 보고, 앱을 재시작해 환경변수를 다시 읽게 한다. 로컬 세션·dev 서버에 확실히 넘기려면 로컬 환경변수 편집기에 적는다.
macOS 는 Cmd+Q, 반응이 없으면 Cmd+Option+Esc 로 강제 종료. Windows 는 Ctrl+Shift+Esc 작업 관리자에서 Claude 프로세스를 끝낸다.
앱 버전·OS·정확한 오류 메시지·관련 로그. macOS 는 Console.app, Windows 는 이벤트 뷰어 → Windows 로그 → 응용 프로그램. 독립 claude CLI 에서도 재현되는 문제는 GitHub Issues 로 간다.
로그에는 파일 경로와 환경 정보가 섞인다 — 공개 이슈에 붙이기 전에 발췌를 읽어 볼 것.
판정 근거가 되는 1차 출처.
이 서피스의 정본이다. 권한 모드 표, 단축키 표, launch.json 필드 표, 관리 설정 키 표, CLI 대응표가 모두 이 한 페이지에 있다.
Cowork: claude.com/product/cowork
Cowork 탭과 Dispatch 쪽. Code 탭과 스킬·플러그인·커넥터의 출처가 다르다는 점이 실무에서 가장 자주 걸리는 지점이다.
Windows 에서 리눅스 툴체인으로 작업할 때. 이 세션에서는 @멘션·커넥터·플러그인이 빠진다는 제약을 먼저 확인한다.
CLI 에서 cron·CI 로 하던 반복 작업의 데스크톱 대응이다.
apt 로 설치·갱신한다. Computer Use 는 아직 없다.
연구자용 워크벤치. 노트북·커넥터·클러스터. · 섹션 31개 · 항목 199개
연구용 노트북 워크벤치. 로컬 우선이라 데이터가 내 컴퓨터에 보존.
Claude + 로컬 분석 환경을 결합한 데스크톱 앱. 자연어로 요청하면 Python/R/shell 코드를 샌드박스에서 작성·실행하고, 결과를 출처 기록이 포함된 버전 관리 아티팩트로 저장
자연어로 연구 과제를 설명하면 Claude 가 Python·R·shell 코드를 샌드박스에서 쓰고 실행하고, 허락한 폴더를 읽고, 커넥터로 과학 데이터베이스에서 데이터를 가져와, 결과를 출처 기록이 붙은 버전 관리 아티팩트로 저장한다.
Jupyter 노트북처럼 셀 단위로 돌지만, 셀을 내가 쓰지 않는다는 것과 실행 기록이 결과에 묶여 남는다는 것이 다르다. macOS·Linux 베타다(네이티브 Windows 빌드는 아직 없다).
Anthropic 은 파일을 호스팅하지 않는다 — 브라우저 탭에서 열리지만 로컬 앱이고 공개 URL 이 없다.
다만 프롬프트에 답하려고 Claude 가 읽은 파일 내용은 그 대화의 일부로 API 에 전달되고 표준 보존 정책을 따른다. "로컬"은 저장 위치의 이야기이지 모델에 아무것도 가지 않는다는 뜻이 아니다.
예외 하나: 컴포저의 Attach files 는 파일을 앱 로컬 데이터 폴더로 복사해 대화에 붙인다 (제자리 읽기가 아니다).
다른 컴퓨터에서 로그인해도 프로젝트·아티팩트·대화 기록은 따라오지 않는다 — 계정이 옮기는 것은 플랜·사용량 한도와 조직 스킬뿐이다. 유일한 사본이 내 컴퓨터에 있으므로 데이터 폴더를 백업에 넣어야 한다.
승인 카드가 대화 안에 뜨고 무엇을 요구하는지 정확히 이름을 밝힌다. 종류마다 지속 범위가 다르다 — 폴더는 읽기 전용/읽기·쓰기를 골라 철회할 때까지, 코드 실행은 Once 또는 Always, 네트워크 호스트는 철회할 때까지, 커넥터 도구와 원격 잡은 Once·이 대화·이 프로젝트·Global.
상시 허가는 전부 Settings > Permissions 에 나열되고 거기서 철회한다.
백그라운드에서 주장과 실제 실행 기록을 대조
재실행은 하지 않는다 — 응답·승인된 plan·아티팩트·실행 기록을 다시 읽어 주장이 실제로 돌아간 것과 맞는지 본다. 그래서 "방법이 이 연구 질문에 맞았는가"는 판단하지 않는다.
연구 도구 — 임상·진단 용도 아님. 리뷰어는 오류를 줄일 뿐 없애지 못하므로 결과는 반드시 직접 검증
설치 전에 확인할 것. Windows 는 WSL2 필요.
Pro/Max/Team/Enterprise (Free 불가)
Team·Enterprise 는 Owner 가 조직에 대해 먼저 활성화해야 구성원이 로그인할 수 있다. 사인인이 claude.ai 에서 멈추면 셋 중 하나다 — Free 플랜, 리다이렉트 실패(Paste a code 사용), 조직 미활성화.
macOS
13 이상 (Apple Silicon/Intel)
다운로드 페이지에서 Mac(Intel) / Mac(Apple Silicon) 을 골라야 한다 — 잘못 받으면 "지원되지 않는 앱"이라 하거나 아이콘에 사선이 그어진다. 내 칩은 Apple 메뉴 → 이 Mac에 관하여의 칩/프로세서 줄에서 확인한다.
Linux
x64 glibc 배포판 (arm64·Alpine 불가)
claude-science 명령은 ~/.local/bin 에 깔린다 — command not found 면 PATH 문제이므로 . ~/.profile 을 돌리거나 새 터미널을 연다.
약 5GB (런타임+기본 환경)
런타임과 스타터 Python·R 환경이 차지한다. 이후 task environment 를 만들면 그만큼 더 늘어난다 (환경은 머신 전체가 공유한다).
socat, bubblewrap 0.8.0+, 비특권 유저 네임스페이스
설치에 sudo 가 필요하다. Ubuntu 22.04 의 bubblewrap 은 너무 낮고 24.04 는 괜찮다 — 배포판과 무관하게 시작 전에 bwrap --version 으로 0.8.0 이상인지 확인한다.
리눅스가 시작을 거부하면 대개 이 의존성이 없거나 낮거나 커널이 유저 네임스페이스를 막은 것이다.
네이티브 Windows 빌드 없음 — WSL2 사용
설치 경로와 첫 실행.
macOS
claude.com/product/claude-science 에서 설치 파일 다운로드 → 더블클릭. 첫 실행 시 Python·R 기본 환경 구성(수 분) 후 브라우저 탭 자동 오픈
첫 실행이 런타임과 스타터 Python·R 환경을 구성하는데 수 분 걸린다(느린 회선이면 더). 그 사이 일부 커넥터가 로드 오류를 보일 수 있고 대개 설치가 끝나면 스스로 풀린다 — "자동 재시도가 멈췄다"는 오류면 Settings > Connectors 에서 껐다 켜거나 앱을 재시작한다.
브라우저 탭이 안 뜨면 메뉴 바 아이콘에서 Open 을 고른다.
sudo apt-get install -y curl bubblewrap socat # Ubuntu/Deb
Linux 예시
설치 스크립트는 현재 릴리스를 받아 체크섬을 검증하고 claude-science 명령을 깐다 — 바이너리를 브라우저로 따로 받아 옮기지 말 것(검증과 안정 채널을 건너뛴다).
설치 후 . ~/.profile 로 PATH 를 반영하고 claude-science --version 으로 확인한다.
# 샌드박스 의존성 (sudo 필요)
sudo apt-get install -y curl bubblewrap socat # Ubuntu/Debian
sudo dnf install -y curl bubblewrap socat # Fedora/RHEL
sudo pacman -S curl bubblewrap socat # Arch
bwrap --version # 0.8.0 이상 확인 (22.04는 불가, 24.04 OK)
curl -fsSL https://claude.ai/install-claude-science.sh | bash
claude-science serve
브라우저 탭에서 열리지만 로컬 앱 — 공개 URL 없음. API 키 불필요
Claude 계정으로 로그인 → 커넥터·스킬·접근 사이트 선택 (나중에 Settings 에서 변경)
OAuth 리다이렉트가 앱으로 돌아올 수 없는 환경(SSH 터널 등)에서는 사인인 화면의 Paste a code 를 쓴다. API 키는 필요 없다.
DB·아티팩트·워크스페이스·로그가 모두 이 한 폴더에
기존 conda 설치·R 라이브러리·셸 설정을 건드리지 않는다. Linux 에서 claude-science 명령 자체는 ~/.local/bin 에 깔린다.
이 폴더를 지우면 프로젝트·아티팩트·대화 기록이 전부 사라진다. 유일한 사본이므로 정기 백업에 포함시킬 것(위치는 Settings > Storage > Data location).
Windows 에서는 WSL2 안에서 구동. WSL1 은 불가.
wsl --install -d Ubuntu-24.04
예시
네이티브 Windows 빌드가 없어서 리눅스 바이너리를 WSL 2 안에서 돌리는 것이다. 설치는 5분쯤 걸린다. Ubuntu 24.04 이상을 쓰는 이유는 샌드박스가 bubblewrap 0.8.0 이상을 요구하는데 22.04 가 그보다 낮기 때문이다.
설치는 Ubuntu 안에서 해야 한다 — Windows 브라우저로 바이너리를 받아 복사해 오면 검증과 안정 채널을 건너뛴다.
# 관리자 PowerShell
wsl --install -d Ubuntu-24.04
wsl -l -v # 버전 2 확인
wsl --set-version Ubuntu-24.04 2 # 1이면 전환
# WSL 내부
sudo apt update && sudo apt install -y curl bubblewrap socat
curl -fsSL https://claude.ai/install-claude-science.sh | bash
. ~/.profile && claude-science --version
claude-science serve --port 8765 --no-browser
WSL2가 localhost 자동 포워딩 → 출력 URL을 Windows 브라우저에 붙여넣기
출력된 URL 에는 1회용 사인인 토큰이 들어 있다(약 3분 후 만료). 나중에 새로 받으려면 claude-science url 이다.
증상별 원인 — command not found 는 PATH(. ~/.profile), bwrap too old 는 Ubuntu 버전, daemon already running on port ... 은 이미 돌고 있는 것(claude-science url 로 링크만 받으면 된다), port ... is already in use 는 다른 프로그램이 쓰는 것(--port 8080), 브라우저가 localhost 로 못 닿으면 커스텀 .wslconfig 네트워크 모드일 수 있으니 Ubuntu 안에서 hostname -I 로 나온 주소를 쓴다.
Ubuntu 터미널을 열지 않고 시작
앱은 WSL 가상머신 안에서 돌기 때문에 VM 이 내려가면 함께 멈춘다. 마지막 Ubuntu 터미널을 닫으면 잠시 뒤 VM 이 내려가고, wsl --shutdown 은 즉시 내린다.
wsl -d Ubuntu-24.04 -- ~/.local/bin/claude-science serve --port 8765 --no-browser
# 이 PowerShell 창을 열어 두면 VM 이 살아 있다
# 이미 열린 Ubuntu 세션에서 백그라운드로 돌리려면
claude-science serve --port 8765 --no-browser --detached
WSL 1 불가, Ubuntu 24.04 이상 필요. wsl --shutdown 시 앱도 종료
이 제품 고유의 용어들. 다른 Claude 제품과 이름이 겹쳐도 뜻은 다를 수 있음.
Project
관련 세션·산출물 묶음. custom instructions와 폴더 권한이 세션 간 유지
프로젝트를 지우면 그 안의 세션·아티팩트·프로젝트 범위 메모리가 함께 사라진다. 반대로 세션만 지우면 아티팩트와 출처 기록은 남는다.
Session
프로젝트 내 대화 스레드 1개. 자체 kernel·workspace 보유
Artifact
Claude가 저장한 파일. Files view에 표시, 영구 보존
Workspace
아티팩트 저장 전 코드가 읽고 쓰는 세션별 폴더
Kernel
변수를 메모리에 유지하는 살아있는 Python·R 프로세스
약 30분 유휴, 패키지 설치로 환경이 재시작될 때, 세션 종료 시 끝난다 — 그때 메모리의 변수도 사라지므로 오래 걸리는 중간 결과는 파일로 저장해 두는 편이 안전하다.
Environment
conda 기반 명명된 패키지 세트, 세션 간 재사용
머신 전체의 모든 프로젝트가 공유한다 — 한 프로젝트에서 만든 환경이 다른 프로젝트에도 보인다. 목록·삭제는 설정 화면이 없으므로 Claude 에게 요청한다.
Version
아티팩트의 불변 저장본 — 덮어쓰지 않고 위에 쌓임
Execution log
해당 아티팩트 버전을 만든 노트북 셀 구간
Data directory
~/.claude-science — DB·아티팩트·워크스페이스·로그
위치는 Settings > Storage > Data location 에서 확인한다. 유일한 사본이므로 백업 대상이다.
이 폴더 안의 파일을 직접 옮기거나 이름을 바꾸거나 지우면 아티팩트 링크와 버전 이력이 깨진다 — 관리는 앱을 통해서만.
노트북 조작과 컴포저 단축키.
@
아티팩트·업로드 파일 삽입
#
과거 세션 삽입
/
스킬 삽입 (스킬 피커)
Claude 가 필요할 때 스킬을 자동으로 불러오므로 직접 고르는 것은 강제 지정에 해당한다.
Cmd/Ctrl+K
검색 (프로젝트 설명까지 매칭)
Files
사이드바 = 프로젝트 전체 아티팩트 그리드 (업로드는 Your uploads)
검색 가능한 그리드다. 주석(annotation)은 이 그리드에 나타나지 않고 다운로드에도 포함되지 않는다.
Open / Open beside session / View in context / Provenance / Versions / Copy link / Star / Rename / Download / Delete
Settings
Permissions · Memory · Specialists · Connectors · Skills · Network · Compute · Credentials · Storage · Usage
찾는 것이 어디 있는지 — 상시 허가 철회는 Permissions, 리뷰어 커스터마이즈는 Specialists, 샌드박스 허용 호스트는 Network, GPU·SSH 호스트·Modal·모델 엔드포인트는 Compute, 클라우드 스토리지·문헌 키·GitHub 토큰은 Credentials, 데이터 폴더 위치는 Storage.
메모리는 기본 꺼짐이고 Memory 에서 켠다 — 저장된 사실은 로컬 DB 에만 있고 Anthropic 으로 동기화되지 않는다. 세션별로 끄는 토글도 있다.
실행 중인 커널의 메모리·CPU 확인 및 중지
셀·결과에 주석을 남기는 기능.
영역 선택 → Annotate pill 클릭 → 코멘트 입력 → Cmd/Ctrl+Enter 또는 Save
위치를 산문으로 설명하는 대신 아티팩트의 그 부분에 코멘트를 붙이는 것이다. 텍스트는 강조 배지로, 이미지는 번호 핀으로 표시되고, 올려서 읽고 눌러서 수정·삭제한다.
N comments
저장만으로는 전송 안 됨 — 컴포저의 chip에 모였다가 다음 메시지와 함께 전송
가능: Markdown, plain text, LaTeX, code(텍스트 선택), PDF(페이지 단위), 이미지·figure(점 클릭), 렌더된 HTML, 세션 transcript
한 번 보낸 주석은 소비된다 — 아티팩트에서 빠지고 메시지의 카드로 남는다. Claude 가 아티팩트를 고친 뒤 또 지적할 것이 있으면 새 버전에 다시 주석을 단다. PDF 선택은 페이지 경계를 넘을 수 없다.
패키지를 어떻게 설치하고 어디에 격리되는지.
Python·R은 persistent kernel에서 실행, 변수 유지. 약 30분 idle·패키지 설치·세션 종료 시 재시작
커널이 살아 있는 동안 변수가 메모리에 남으므로 단계를 나눠 진행할 수 있다. 재시작 조건 셋을 기억할 것 — 유휴 30분, 패키지 설치로 환경이 바뀔 때, 세션 종료. 재시작되면 메모리의 변수는 사라진다.
Python: numpy, pandas, scipy, matplotlib, seaborn, pillow R: tidyverse, ggplot2, jsonlite
micromamba
micromamba(conda-forge, bioconda, defaults, pytorch) · pip/PyPI · CRAN·Bioconductor
패키지 소스를 다른 서버로 돌릴 수 없다 — 사내 미러가 필요하면 config.toml 의 [conda] 미러 키를 쓴다. 패키지가 아예 없는 도구는 소스를 받아 샌드박스에서 conda-forge 컴파일러로 빌드하고 그 빌드를 아티팩트로 저장해 재사용한다.
Task environment(예: single-cell, structural-biology)는 필요 시 생성, 머신 전체 공유. 목록·삭제는 Claude에게 요청
스타터에 없는 패키지가 필요하면 Claude 가 기존 환경을 재사용하거나 새로 만들자고 제안하고, 승인 카드에 환경 이름과 초기 패키지가 표시된다.
GPU는 Linux 만 — Settings > Compute에서 활성화(샌드박스 강도 낮아짐)
멀티 GPU 머신도 지원한다. GPU 가 없는 머신에서 GPU 가 필요한 작업이 오면 Claude 가 그 사실을 알리고 연결해 둔 원격 컴퓨트로 돌릴 수 있다.
GPU 접근을 허용하면 기본 샌드박싱 강도가 낮아진다 — 필요할 때만 켤 것.
apt·sudo·root 없음 — 패키지가 없으면 conda-forge 컴파일러로 소스 빌드
산출물과 그 출처 추적. 무엇이 어떤 실행에서 나왔는지 기록.
아티팩트만 영구 — 그 외 세션 파일은 종료 몇 시간 후 삭제
남길 스크래치 파일은 저장해 달라고 말해야 한다. 아티팩트는 앱 데이터 폴더에 있고 내가 지울 때까지 남는다. 밖으로 꺼낼 때는 파일 하나면 Download, 여러 개면 ~/.claude-science 아래 프로젝트 폴더에서 직접 복사한다.
과거 버전은 읽기 전용 — 복원은 다시 저장 요청, 대화 속 링크는 당시 버전을 가리킴
diff 모드에서는 비교 대상 버전을 고를 수 있다(기본은 직전 버전). 이름을 바꿔도 링크는 깨지지 않지만 Delete 는 모든 버전을 영구 삭제한다.
인라인 편집 가능: Markdown, code, plain text (Edit content → Save = 새 버전) 불가: 이미지, PDF, HTML, 테이블
Messages
Messages · Code(스크립트·노트북 다운로드) · Execution Log · Environment(환경명·언어·패키지 버전) · Review
모든 아티팩트 버전이 어떻게 만들어졌는지를 기록한다 — 저장 시점 전후의 대화(Messages), 재현 가능한 스크립트(Code), 실행된 모든 명령(Execution Log), 환경과 패키지 버전(Environment), 리뷰어가 남긴 findings(Review).
Execution Log가 실행의 권위 있는 기록 — Code 탭과 불일치하면 로그를 신뢰. ~/.claude-science 내부 파일 직접 이동·삭제 금지
결과를 검토하는 기능.
응답·승인된 plan·아티팩트·실행 기록을 독립적으로 재독해 주장과 실제 실행을 대조 (재실행은 하지 않음)
응답 뒤 자동으로 돌고, 긴 작업 중에는 주기적으로 돌고, Request review 로 언제든 부를 수 있다.
한계를 정확히 알아 두는 것이 중요하다 — 주장이 기록과 맞는지를 보되 분석을 다시 돌리지는 않는다. 쓰인 방법에서 결론이 안 나오는 것은 잡지만, 그 방법이 내 연구 질문에 맞는 선택이었는지는 판단하지 않는다.
인용이 주장을 뒷받침하지 않음 · DOI가 다른 논문으로 연결
응답 후 자동 실행 + Request review 수동 트리거. 결과는 Reviewer · N findings 카드(claim·evidence·transcript 링크)
카드가 뜨면 Claude 가 그 findings 를 읽고 다음 메시지에서 고치거나 왜 해당하지 않는지 설명한다. 카드에서 리뷰어의 전체 추론을 펼쳐 볼 수 있다.
기본값: Max/Team/Enterprise ON, Pro OFF. 커스텀 기준은 Settings > Specialists > Reviewer > Instructions(추가만 가능, 내장 체크 제거 불가)
자동 리뷰는 세션별 토글이다(세션 설정 메뉴). 리뷰도 내 플랜 사용량을 쓴다 — 켜 두면 그만큼 소모된다.
Settings > Specialists 에서 리뷰어를 손보거나 내 방식에 맞춘 별도 specialist 를 만들어 추가 검토를 붙일 수 있다.
터미널에서 쓰는 서브커맨드.
serve
실행 + 1회용 로그인 링크 열기
데이터 디렉터리당 하나만 돌고 Ctrl-C 로 멈춘다. 평소 쓰는 명령은 이것 하나이고, 나머지는 돌고 있는 프로그램을 관리하는 것들이다.
open
새 로그인 링크 발급 후 브라우저 열기
url
새 로그인 링크만 출력 (SSH용)
링크의 nonce 는 1회용 비밀번호로 브라우저 탭 하나를 로그인시키고 약 3분 뒤 만료된다. 로그인된 탭은 프로그램을 재시작할 때까지 유지되므로 링크를 보관할 필요가 없다.
status
실행 여부·버전·포트 JSON 출력
logs [--tail]
로그 출력 / 실시간 추적
stop
정상 종료
update [--check]
업데이트 (--to <ver>로 롤백)
--check 는 확인만 한다. 업데이트는 서명 검증 후 바이너리를 원자적으로 교체한다. 특정 버전을 지정하는 --to 가 롤백 수단이기도 하다.
import <path>
다른 데이터 디렉터리 병합
다른 데이터 디렉터리나 그 DB 파일을 이쪽으로 합친다. 같은 임포트를 두 번 돌리는 것은 안전하다(멱등) — 위험한 것은 되돌릴 수 없다는 점이다.
--version
버전 출력
전역: --data-dir <dir>(기본 ~/.claude-science), --config <file>
import는 미리보기·되돌리기 없음 — 사전 백업 필수
serve 실행 시 정하는 값들. 네트워크 노출 범위를 여기서 결정.
--port <n>
기본 8000 (0=자동 할당)
port ... is already in use 는 다른 프로그램이 쓰는 것이고, daemon already running on port ... 은 이미 Claude Science 가 돌고 있는 것이다 — 후자는 다시 띄울 필요 없이 claude-science url 로 링크만 받으면 된다.
--no-browser
브라우저 자동 오픈 안 함
--detached
백그라운드 실행
--no-browser 를 함축한다. WSL 처럼 터미널을 닫으면 VM 이 내려가는 환경에서는 detached 라도 VM 이 살아 있어야 한다.
--no-auto-update
자동 업데이트 끄기
--host <addr>
기본 127.0.0.1 (변경 시 네트워크 노출)
기본값이라 내 기기에서만 닿는다. 다른 주소로 바꾸면 네트워크에 노출되므로, 원격 접속이 필요하면 이 값을 바꾸는 대신 SSH 터널을 쓰는 편이 맞다.
--base-path </prefix>
리버스 프록시용
--allow-origin <url>
허용 오리진 (반복 지정)
브라우저 Origin 을 하나 더 허용한다 — Claude 가 닿을 수 있는 사이트와는 무관하다 (그쪽은 샌드박스 네트워크 허용목록이다).
--sandbox-port <n>
기본 port+1, HTML 미리보기용
생성된 HTML 미리보기를 별도 오리진에서 서비스해, 미리보기 페이지가 내 세션을 읽지 못하게 한다. SSH 터널을 쓸 때 이 포트를 안 열면 인터랙티브 차트가 정적 스냅샷으로 보인다.
--verbose
상세 로그
기본적으로 시작·정보 로그는 로그 파일에만 간다 — 콘솔에서 보려면 이 플래그다. 기록된 로그는 claude-science logs --tail 로 따라간다.
--dangerously-no-sandbox(홈 전체 접근+무제한 네트워크) · --dangerously-skip-approvals(모든 승인 자동)
원격 리눅스 서버에 SSH 터널로 연결.
ssh -L 8000:localhost:8000 \
예시
앱이 127.0.0.1 에만 붙기 때문에 터널이 정석이다. 두 포트를 함께 여는 이유는 8000 이 앱, 8001(기본 port+1)이 HTML 미리보기 오리진이기 때문이다.
링크는 약 3분 만료이므로 터널을 먼저 세워 두고 서버에서 claude-science url 로 새로 받는다. 여러 컴퓨터에서 같은 프로젝트를 보려면 이렇게 리눅스 서버에 한 번 설치해 터널로 접속하는 것이 유일한 방법이다(계정으로 동기화되지 않는다).
# ① 내 컴퓨터에서 먼저 터널 (링크 3분 만료)
ssh -L 8000:localhost:8000 \
-L 8001:localhost:8001 you@server.example.com
# ② 서버에서
claude-science serve --no-browser
claude-science url # 링크 재발급
리다이렉트 실패 시 로그인 화면의 Paste a code 사용
OAuth 리다이렉트가 앱으로 돌아올 수 없는 환경이라서 생기는 일이다 — 오류가 아니라 예상된 경로이므로 사인인 화면의 Paste a code 를 쓴다.
미리보기 포트(8001)를 안 열면 인터랙티브 차트가 정적 스냅샷으로 표시
기본으로 켜져 있는 읽기 전용 커넥터들. 대부분 공개 연구 DB.
계정·키 불필요, 승인 카드 없이 실행. Settings > Connectors에서 개별 OFF
전부 읽기 전용이고 기본으로 켜져 있다. 요청에 데이터 소스 이름을 직접 대도 되고, 필요한 것만 설명하면 Claude 가 도구를 고른다 — 커넥터 질의는 대화에 펼칠 수 있는 코드 단계로 뜬다.
뒤에 있는 데이터베이스들은 Settings > Network 의 허용목록에 그룹 단위로 올라가 있어서, 그룹을 끄면 그것에 의존하는 커넥터가 함께 꺼진다.
Genomes
Ensembl(VEP), UCSC
Genes & Ontologies
MyGene, UniProt, GO, Reactome, OLS
Variants
gnomAD, ClinVar, dbSNP
Human Genetics
GWAS Catalog, eQTL Catalogue, FinnGen, BioBank Japan
Clinical Genomics
ClinGen, CIViC, Open Targets
Expression
GTEx
Regulation
ENCODE, JASPAR, UniBind
Protein Annotation
InterPro, Pfam, Human Protein Atlas, STRING
Structures
PDB, AlphaFold, EMDB, Complex Portal, IntAct
RNA
Rfam
Omics Archives
GEO, ArrayExpress, PRIDE, MGnify, MetaboLights
Cancer Models
cBioPortal
Chemistry
PubChem, ChEBI, Rhea, BindingDB
Drug Regulatory
FDA drug data, openFDA
Literature Graph
OpenAlex, arXiv
Research Resources
Grants.gov, Antibody Registry
추가: BioMart, CellGuide(CELLxGENE), ZINC, Ketcher(2D 분자 스케처)
ZINC 는 구매 가능한 화학 공간, CellGuide 는 CELLxGENE 세포 유형이다. 직접 추가한 커넥터는 이들과 달리 도구마다 승인 카드가 뜬다(Once·이 대화·이 프로젝트·Global).
일부 DB는 비상업/출처표기 라이선스 — 사용 전 확인
다른 Claude 제품과 공용으로 쓰는 커넥터.
claude.com/connectors 기반 4종: PubMed, Clinical Trials, ChEMBL, bioRxiv
Featured 커넥터와 달리 커넥터 디렉터리에서 오고 다른 Claude 제품에서도 쓰인다. 그래서 조직의 커넥터 권한 정책이 이쪽에는 적용된다 — 로컬로 추가한 커넥터에는 적용되지 않는다.
Team/Enterprise는 관리자가 추가해야 표시됨
디렉터리 커넥터는 Anthropic 호스팅 커넥터 서비스를 경유한다 — 관리자가 걸어 둔 권한과 터널이 그대로 적용되는 이유다.
기본 제공 스킬.
Settings > Skills
Settings > Skills · 자동 로드, 컴포저에 / 입력해 직접 선택 가능
스킬은 방법·도구·확인할 것을 적어 둔 지시문 묶음이다. 작업이 그것을 요구하면 Claude 가 자동으로 불러오고, / 로 직접 지정할 수도 있다.
조직이 배포한 스킬과 내가 앱에서 퍼블리시한 스킬은 다른 컴퓨터에서 로그인해도 다시 나타난다 (메모리·설정·앱에서 추가한 커넥터는 컴퓨터별로 남는다).
literature review, indication dossier
AlphaFold2, Boltz-2, Chai-1, ESMFold2, OpenFold3
ProteinMPNN (Ligand/Soluble 포함)
DiffDock
ESM-2
Evo 2, Borzoi
scGPT, scvi-tools
직접 만드는 스킬.
Add skill
버튼 → 4가지 방식
Settings > Skills 의 Add skill 이다. 넷 중 어느 방식이든 결과는 같은 스킬 한 개다.
Chat with Claude
대화로 생성
Write from scratch
직접 작성
Upload a skill
파일 업로드
Import from GitHub
private repo 가능(Settings > Credentials에 GitHub 토큰 추가 후)
토큰은 api.github.com 레이트리밋 완화에도 쓰인다(GITHUB_TOKEN 환경변수로도 줄 수 있다). 방화벽에서는 api.github.com 과 codeload.github.com 이 스킬 설치 경로다.
기존 세션의 워크플로를 스킬로 증류(distill)해 달라고 요청 가능
한 번 잘 돌아간 분석 흐름을 다음에도 같은 방식으로 돌리게 만드는 가장 싼 길이다 — 절차를 문서로 적어 두는 것보다 실행되는 형태로 남기는 편이 낫다.
클러스터에 작업 제출.
Settings > Compute > SSH hosts > Add SSH host
기존 ~/.ssh/config 를 그대로 쓰고, 내 키나 ssh-agent 로 인증하며, 호스트에는 아무것도 설치하지 않는다. 랩 워크스테이션이든 HPC 로그인 노드든 같다.
Advanced
에서 User/Port/Identity file 재정의 → Add
~/.ssh/config 의 값을 그 호스트에 대해서만 덮어쓴다 — config 를 고치지 않고 예외를 두는 자리다.
추가 시 read-only 프로브로 CPU/GPU/CUDA, conda·modules·Apptainer, scratch, sbatch 존재 여부 자동 탐지 (Probe로 재실행)
SLURM 클러스터면 파티션까지 읽는다. 결과는 호스트 상세 페이지의 편집 가능한 메모로 저장되고, Claude 가 작업하면서 이 Details 문서를 갱신한다 — 환경 활성화 방법, 데이터·패키지 위치, 스케줄링 관례 같은 것이 여기 쌓인다.
실행: 워크스테이션=detached 프로세스, SLURM=sbatch. 연결 끊겨도 잡 유지
승인 카드에 명령과 스크립트가 그대로 표시되고, 승인하면 스크립트와 입력이 scratch 아래 잡 디렉터리로 복사된다. Scratch 디렉터리는 SLURM 이면 공유 파일시스템에 있어야 한다.
기본 잡 타임아웃 30분, 동시 잡 100. 약 100MB 초과 출력은 호스트에 남고 경로만 기록
30분보다 오래 걸릴 작업은 제출 전에 미리 말해야 한다. 끝나면 출력이 세션으로 당겨지지만, 크기 임계치를 넘는 파일은 호스트에 남고 경로만 기록된다.
원격 잡은 샌드박스 밖 — 내 계정 권한 전체로 실행됨. 호스트엔 아무것도 설치하지 않음
외부 컴퓨트로 실행 위임. 과금이 붙는 경로.
Settings > Compute > Cloud providers
Settings > Compute > Cloud providers → Modal Connect
내 Modal 계정에서 돌고 Modal 이 나에게 직접 청구한다 — Anthropic 은 컴퓨트를 제공하지도 청구하지도 않고 결제수단을 보지 않는다.
예시
modal token new # CLI 로그인 → ~/.modal.toml 자동 인식
또는 Settings > Credentials > Modal에 Token ID + secret 붙여넣기(암호화 저장, Claude에 미노출)
내 머신에 GPU 가 없거나 메모리가 부족할 때 Claude 가 잡을 제안한다. 카드에는 Modal 프로필, 정확한 스펙(예: H100, CPU 8, 32 GiB), 초당 과금 안내, 최대 청구 시간, Modal 요금 페이지 링크가 뜬다. 승인 범위는 잡 단위·대화·프로젝트 중에서 고른다.
Modal 셋업 셸을 여는 것은 별도 카드로 묻는다(30분 상한, GPU 없음).
컨테이너 이미지는 잡이 필요한 환경에서 한 번 빌드해 두고 환경이 바뀔 때까지 재사용한다 (빌드 목록은 Settings > Compute 의 Modal 페이지 Details 문서에 기록된다).
지출 상한은 없다. 통제 수단은 셋뿐이다 — 잡마다 스펙·시간을 보고 개별 승인, 동시 컨테이너 수 제한(이 머신 기준), Modal 이 강제하는 컨테이너 타임아웃. 지출은 Modal 대시보드에서 본다.
지출 상한 없음 · 과금은 Modal이 직접 청구 · 앱 종료해도 잡은 계속 과금
HTTP 모델 엔드포인트 연결.
Settings > Compute > Model endpoints
Settings > Compute > Model endpoints → NVIDIA BioNeMo NIM Connect
과학 모델을 HTTP 로 서비스하는 모델 서버에 붙여 분석에서 직접 호출하는 경로다. 호스팅형이든 내가 돌리는 컨테이너든 같다.
BioNeMo Agent Toolkit 스킬 import + NVIDIA NGC API 자격증명 → NVIDIA 호스팅 API 또는 로컬 Docker NIM 컨테이너 선택
로컬 컨테이너로 돌리려면 NVIDIA GPU 가 있는 머신이 필요하다. 붙인 뒤에는 특정 NIM 스킬에 대해 로컬 Docker 컨테이너를 띄우거나 원격 연결을 설정하라고 Claude 에게 요청한다.
S3·GCS·Azure 버킷 연결.
Settings > Credentials
Settings > Credentials → AWS / Google Cloud / Microsoft Azure
자격증명은 내 컴퓨터에서 암호화되고 해당 제공자에게만 전송된다. S3 호환 스토어는 AWS 폼의 S3-compatible endpoint 필드를 쓰고, 그 엔드포인트 호스트는 따로 허용목록에 올려야 한다.
Claude 가 쓰는 코드는 여기 추가한 자격증명을 모두 쓸 수 있다 — 분석 세션에서 절대 닿아서는 안 되는 버킷이면 그 자격증명을 추가하지 말 것.
access key, service-account JSON, HMAC key, connection string 등 + 버킷명(또는 Azure Blob containers) 나열
주소가 허용목록에 올라가 코드가 카드 없이 닿을 수 있게 된다 — 다만 버킷 안에서 무엇을 할 수 있는지는 자격증명의 권한이 정한다.
제자리에서 읽고 쓴다 — 평범한 코드로 객체를 다루고, 아티팩트를 내보낼 수도 있다.
GCS는 HMAC key + boto3 또는 import/export만 가능 — gsutil·gcloud storage·google-cloud-storage는 path-style이라 차단됨
문헌 DB 접근. 기관 구독 필요 여부로 구분.
Settings > Credentials > Services > Literature access
Settings > Credentials > Services > Literature access (claude.ai 계정 설정과 별개)
앱 자체의 Settings 이고 claude.ai 계정·조직 설정과 별개다(톱니 → Settings → Credentials → Services). 커스텀 자격증명을 추가해 두면 Services 목록이 그 아래에 나타난다. OpenAlex 는 같은 Services 목록에 자기 항목이 따로 있다.
오픈액세스(Unpaywall·Semantic Scholar·PMC) → CrossRef 링크 → 보유 키 출판사 → 라이브러리 프록시 → 출판사 페이지
DOI 나 제목을 주면 이 순서로 시도하고, 받은 파일(PDF·XML·텍스트)은 세션에 저장된다.
요청 예절도 정해져 있다 — 제공자마다 초당 1건으로 조절하고, 요청받으면 물러나고, 매 요청에 자신을 밝히고, 페이월 HTML 은 스크랩하지 않는다.
Elsevier API key
+ institutional token (구독 필요)
Springer Nature key
Springer 경로 활성
Semantic Scholar key
해당 단계 가속
NCBI API key
PubMed 3→10 req/s
CORE API key
오픈액세스 aggregator
도서관 경유 재시도
OpenAlex API key
매 요청 필수 (무료 발급)
OpenAlex 는 모든 요청에 키를 요구하므로 OpenAlex 기반 문헌 검색은 키가 없으면 아예 안 돈다. 키는 OpenAlex API 설정 페이지에서 무료로 만든다.
어떤 키도 페이월을 우회하지 않음. Unpaywall 단계는 Settings > General > Contact email 공유해야 작동
직접 만든 MCP 커넥터 연결.
Settings > Connectors > Add connector
Settings > Connectors > Add connector → Remote(HTTPS) 또는 Local command. Name은 소문자·숫자·하이픈만
MCP 서버면 무엇이든 붙는다. Browse Connectors Directory 로 공개 디렉터리를 열 수도 있다. 로그인이 필요한 Remote 서버는 제공자의 사인인 페이지로 안내한다.
Remote
: 서버 URL + Advanced(transport SSE/Streamable HTTP, OAuth, Headers helper)
Local command
: 실행 명령 + Advanced(인자, 환경변수)
Ask each time
툴 기본값 → Tools 탭에서 Always allow/Block
직접 추가한 커넥터의 모든 도구는 Ask each time 에서 시작한다 — Featured 커넥터가 카드 없이 도는 것과 다른 점이다. 커넥터 단위로 Skip approvals 를 켜면 그 커넥터의 모든 도구에서 호출별 카드가 사라진다.
샌드박스 안에서, Claude 코드와 같은 네트워크 제한 + 커넥터별 쓰기 가능 디렉터리
샌드박스 밖이 아니다 — Claude 가 쓰는 코드와 같은 네트워크 제한을 받고 자기 쓰기 디렉터리를 하나 갖는다. 대신 환경변수가 암호화 없이 설정 파일에 저장되므로(내 계정만 읽을 수 있다) 고가치 시크릿은 넣지 않는다.
Local 커넥터 환경변수는 암호화 없이 설정 파일 저장 — 고가치 시크릿 금지. Skip approvals는 신뢰하는 개발자만
승인 카드의 범위. 한 번·세션·프로젝트 단위로 구분.
폴더 접근·코드 실행·원격 잡·커넥터 툴마다 카드 표시
종류마다 고를 수 있는 범위가 다르다 — 폴더는 읽기 전용/읽기·쓰기를 고르고 철회할 때까지 유지, 코드 실행은 Once 또는 Always, 네트워크 호스트는 철회할 때까지, 커넥터 도구와 원격 잡은 아래 네 범위 전부.
상시 허가는 Settings > Permissions 한 곳에 모여 있고 거기서 철회한다.
Once
이번 한 번만
This conversation
현재 세션 동안
This project
이 프로젝트 전체
Global
모든 프로젝트
가장 넓은 범위다. 원격 잡·커넥터 도구에 Global 을 주면 이후 어느 프로젝트에서든 묻지 않는다 — 되돌리려면 Settings > Permissions 에서 철회해야 한다.
설정 파일. 앱 설정보다 우선.
~/.claude-science/config.toml
~/.claude-science/config.toml — 시작 시 1회 읽음, 변경은 재시작 후 적용
모든 키에 기본값이 있어 파일이 없어도 앱이 돈다 — 관리자가 기기 관리로 배포해 정책을 세우는 용도다. 한 번만 다른 파일로 돌리려면 claude-science --config <file>.
[network]
예시
우선순위가 키마다 다르다. 프록시와 패키지 미러 키는 파일이 Settings 보다 우선하고, 그때 Settings 화면에는 "조직 관리"로 표시돼 구성원이 바꿀 수 없다. 반면 [sandbox.network] 목록은 덮어쓰는 것이 아니라 더해지고 아무것도 잠그지 않는다.
환경변수 예외 하나 — 앱 환경의 프록시 변수(ALL_PROXY 포함)가 [network] proxy 보다 우선한다. http:// 미러를 쓰려면 allow_insecure_mirror 를 켜야 하는데, 평문 미러는 경로상의 공격자가 패키지를 갈아치울 수 있어 기본이 꺼져 있다.
[network]
proxy = "http://proxy.example.corp:8080"
no_proxy = ".example.corp,registry.example.corp"
ca_bundle = "/etc/claude-science/corporate-ca.pem"
mcp_x509_strict = "auto" # relaxed | strict
[conda]
channel_mirror = "https://..." # 내부 미러
pip_index_url = "https://..."
allow_insecure_mirror = false
[sandbox.network]
enabled = true
allowed_domains = ["*.example.org"]
denied_domains = [] # 거부 우선
미러 값이 잘못되면 앱이 시작되지 않음. 파일 값이 Settings보다 우선(“조직 관리” 표시)
환경 변수로 넘기는 값들.
DO_NOT_TRACK
텔레메트리 끄기(값 무관)
설정 파일의 disable_telemetry = true 와 같은 스위치다. 보내지는 것은 이벤트 수·소요 시간 같은 제품 사용 지표이고 대화 내용은 아니다.
GITHUB_TOKEN
api.github.com 레이트리밋 완화
api.github.com 에만 쓰인다 — GitHub 저장소에서 스킬을 설치할 때의 레이트리밋을 올리는 용도다.
HTTPS_PROXY / HTTP_PROXY
프록시 (설정파일보다 우선)
환경변수가 설정 파일을 이기는 유일한 경우다. 그 밖의 설정은 전부 config.toml 쪽에 둔다. https://(프록시까지 TLS) 주소는 앱 자체 연결에만 적용되고 샌드박스의 패키지 다운로드는 직접 연결하므로, 프록시는 http:// 를 쓰는 편이 낫다.
NO_PROXY / ALL_PROXY
NO_PROXY는 설정 키와 병합
다른 값들은 덮어쓰지만 NO_PROXY 만 no_proxy 키와 합쳐진다 — 한쪽에만 적어도 둘 다 적용된다.
데이터가 어디에 남고 어디로 나가는지.
대화·산출물은 내 기기에만 저장 (~/.claude-science) — Anthropic 측 세션 저장소 없음
Anthropic 이 브라우즈·동기화·내보낼 대상이 아예 없다는 뜻이다. 그래서 조직의 데이터 통제 수단(Custom Data Retention·조직 내보내기·Compliance API)이 이 데이터에는 닿지 않는다 — 기기 관리(MDM·EDR)가 유일한 통제 수단이다.
Anthropic이 받는 것: 프롬프트·응답 + 제품 사용 텔레메트리(대화 내용 아님, 끌 수 있음)
모델을 호출할 때마다 프롬프트와 응답이 전송되고 모델 트래픽에 대한 표준 보존 정책을 따른다 — 다른 Claude 제품과 같은 정책이다. 조직의 Custom Data Retention 설정은 이 보존 기간을 바꾸지 않는다.
로컬에서 데이터를 지워도 서버 측 모델 트래픽 로그가 먼저 지워지지는 않는다(표준 보존 기간까지 남는다).
내가 통제하는 서버·클라우드 계정으로 코드와 데이터가 직접 간다. 관리자가 구성원의 원격 컴퓨트 연결을 막을 수단은 아직 없다.
폴더 삭제 = 모든 프로젝트·아티팩트·대화 영구 삭제. Custom Data Retention·Compliance API는 로컬 데이터에 미적용 → MDM/EDR로 관리
플랜별로 쓸 수 있는 범위 상이.
Free
사용 불가
Pro / Max
기본 켜짐
Team / Enterprise
기본 꺼짐 — Owner가 활성화
Admin 역할로는 켤 수 없다 — 구성원 추가와 좌석 배정은 되지만 활성화는 Owner·Primary Owner 만 할 수 있다. 사용량은 구성원의 평소 주간 한도에 합산되고 claude.ai 와 같은 좌석을 쓴다.
Organization settings > Claude Science > Enable for your organization → 마법사 → Enable
마법사가 아직 지원되지 않는 것, 접근 역할, 퍼블리시할 커넥터를 차례로 훑는다. 도입 현황은 Analytics 의 Claude Science 탭에서 보고, Enterprise 는 Admin API 의 science_metrics(세션 수·메시지 수·delegation 수·원격 잡 수·스킬 호출 수)로도 받는다.
Owner/Primary Owner만 가능(Admin 불가). HIPAA 조직도 기본 꺼짐이며 켜도 BAA 미적용·PHI 사용 금지
베타라서 아직 안 되는 것들. 기대치 조정용.
대화가 구성원 컴퓨터에 있으므로 API 가 닿을 Anthropic 측 데이터가 애초에 없다. 감사 로그 연동은 로드맵에 있다.
자동 삭제 창은 Anthropic 서버에 저장된 대화·프로젝트·아티팩트에 적용되는데 Claude Science 는 그것을 만들지 않으므로 작용 대상이 없다. 세션 지속 시간 설정도 브라우저 사인인 단계만 제한하고, 이후에는 앱이 자체 토큰으로 로그인을 유지한다.
커넥터·도메인·스킬 허용목록이 로컬·커스텀 커넥터엔 미적용
조직의 커넥터·도메인 허용목록은 관리자가 퍼블리시한 Directory 커넥터에만 적용되고, 구성원이 로컬에서 추가한 커넥터(자기 컴퓨터에서 돌거나 커스텀 URL 을 가리키는 것)는 제한하지 못한다. 스킬도 같다 — 조직 스킬은 보이지만 어떤 featured 스킬을 켤지에 대한 관리자 통제는 없다. 로컬·커스텀 커넥터 통제는 로드맵에 있다.
조직에서 구성원을 제거하면 로그인은 막히지만 이미 그 컴퓨터에 있는 데이터는 지워지지 않는다 — 기기 관리 소프트웨어로 처리해야 한다.
방화벽에서 열어야 하는 도메인 목록.
claude.ai
claude.ai, platform.claude.com, api.anthropic.com
앱이 Anthropic 과 통신하는 최소 집합이다. 이것이 막히면 사인인과 모델 호출 자체가 안 된다.
*.mcp.claude.com
*.mcp.claude.com(커넥터), storage.googleapis.com(자동 업데이트), api.github.com·codeload.github.com(스킬)
api.unpaywall.org, doi.org, eutils.ncbi.nlm.nih.gov, api.semanticscholar.org, api.crossref.org, api.openalex.org, api.elsevier.com, api.springernature.com
pypi.org, files.pythonhosted.org, conda.anaconda.org, repo.anaconda.com, cran.r-project.org, bioconductor.org, registry.npmjs.org, github.com, *.githubusercontent.com
샌드박스의 패키지 설치 경로다. 패키지 소스를 다른 서버로 돌릴 수는 없고, 사내 미러가 필요하면 config.toml 의 [conda] channel_mirror·pip_index_url 을 쓴다 (pip_index_url 을 설정하면 공개 Python 호스트가 샌드박스 허용목록에서 빠진다).
익명 파일 업로드·웹훅·리버스 터널·path-style 오브젝트 스토리지(s3.amazonaws.com 등) → 버킷은 <bucket>.s3.<region>.amazonaws.com 호스트명 형식으로 사용
데이터가 빠져나갈 통로를 구조적으로 막아 둔 목록이라 해제할 수 없다. GCS 를 코드에서 다룰 때 gsutil·gcloud storage·google-cloud-storage 라이브러리가 막히는 것도 같은 이유(path-style 주소)이고, 그래서 HMAC 키 + boto3 나 import/export 를 쓴다.
미러 트래픽은 프록시를 거치지 않고 직접 연결 — 프록시 허용목록만으로는 환경 빌드가 안 되고 로그에도 안 남음
판정 근거가 되는 1차 출처.
이 서피스의 정본이다. Claude Code 문서(code.claude.com/docs)와 다른 트리이므로 Claude Code 쪽 자료에서 Claude Science 항목을 찾으면 나오지 않는다.
Featured 커넥터 16그룹의 실제 데이터베이스 목록과 featured 과학 스킬 목록이 여기 있다.
프로젝트·세션·워크스페이스·샌드박스·승인 카드·delegation·메모리가 한 페이지에 정리돼 있다 — 이 시트의 용어 절과 승인 범위 절의 근거다.
프록시·방화벽 허용목록을 만들 때의 정본이다. 사내망 설정 전반은 /docs/claude-science/corporate-networks 쪽이 더 자세하다.
베타라 변화가 빠르다 — 이 시트의 「확인」 날짜가 오래됐으면 여기부터 본다.
터미널에서 쓰는 본체. 설치·플래그·권한·훅·자동화. · 섹션 37개 · 항목 223개
네이티브 설치가 권장 경로. npm 설치는 새로 깔 때 비권장 레거시. 문제 발생 시 추측 전에 claude doctor 먼저.
curl -fsSL https://claude.ai/install.sh | bash
예시
설치 경로는 넷이다 — 설치 스크립트(macOS·Linux·WSL), PowerShell 스크립트(Windows), Homebrew cask, WinGet. Windows 는 설치 직후 PATH 가 이미 열려 있던 터미널에 반영되지 않으므로 새 창을 열어야 한다.
npm 설치가 꼬였으면 claude install stable 로 네이티브 바이너리를 다시 깔아 원인을 가른다.
# macOS/Linux/WSL
curl -fsSL https://claude.ai/install.sh | bash
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
# Homebrew / WinGet
brew install --cask claude-code
winget install Anthropic.ClaudeCode
claude auth login
로그인
--email 로 주소를 미리 채우고, --sso 로 SSO 를 강제하고, --console 로 구독 대신 Anthropic Console(API 과금)로 붙는다.
claude auth status
인증 상태 확인
JSON 으로 출력하고 로그인 상태면 0, 아니면 1 로 종료한다(--text 는 사람이 읽는 형태) — CI 에서 인증 여부를 판정하기에 이 종료 코드가 편하다.
claude auth logout
로그아웃
claude doctor
설정 진단·문제 해결
설치·인증·경로·권한 설정을 한 번에 점검한다. 문제 발생 시 추측 전에 이 명령을 먼저 돌리는 게 시간을 절약한다. 출력을 복사해서 지원 요청에 쓸 수도 있다.
점검 항목: 설치 버전, 인증 상태, PATH 설정, 파일 권한, 프로젝트 구성, 훅/스킬 상태.
터미널에서 치는 진입점. 대부분은 claude 하나로 시작하고, 나머지는 이어가기(-c/-r)와 관리 명령.
claude
대화형 세션 시작
인터랙티브 셸을 시작한다. 프롬프트를 입력하고 응답을 받으면서 대화를 계속할 수 있다. 세션은 자동으로 저장되고 /resume 로 다시 불러올 수 있다.
claude "query"
프롬프트와 함께 시작
첫 프롬프트를 한 줄로 입력해서 세션을 시작한다. 대화형 셸에 들어가지 않고 바로 답을 얻고 싶을 때 유용하다.
claude -p "query"
프린트 모드: 실행 후 종료
한 번만 실행하고 종료한다. 인터랙티브 세션을 남기지 않고 CI/CD 파이프라인이나 스크립트에서 쓰기 좋다.
cat f | claude -p "q"
파이프 콘텐츠 처리
표준입력을 그대로 받는다 — git diff, docker logs, DB 출력 무엇이든 된다. 넣은 만큼 컨텍스트를 먹으므로 먼저 걸러서 넘기는 편이 낫다.
claude -c / --continue
최근 대화 이어가기
현재 디렉터리의 가장 최근 대화를 불러온다. 백그라운드 세션·-p·SDK·첫 프롬프트가 /loop 인 세션은 건너뛴다 — 그것들까지 포함하려면 claude -p --continue 다. /add-dir 로 이 디렉터리를 추가했던 세션도 포함된다.
claude -r "<s>" "query"
세션 ID·이름으로 재개
ID 나 이름으로 재개하고, 인자 없이 주면 선택기가 열린다. ID 를 주면 현재 프로젝트와 그 워크트리를 먼저 찾고 없으면 이 기기의 다른 프로젝트까지 찾는다(v2.1.223+).
claude -n <name>
세션 표시 이름 지정
/resume 목록과 터미널 제목에 뜨고, 그 이름으로 재개할 수도 있다(claude --resume <name>). 세션 도중에 바꾸려면 /rename 이다.
claude --from-pr <PR>
PR 연결 세션 재개
PR 번호, GitHub·GitHub Enterprise PR URL, GitLab MR URL, Bitbucket PR URL 을 받는다. Claude 가 PR 을 만들면 연결은 자동으로 걸린다.
claude update
최신 버전 업데이트
특정 버전이나 채널을 지정하려면 claude install <version|stable|latest> 쪽이다.
claude install [version]
네이티브 바이너리 설치
2.1.118 같은 버전이나 stable·latest 를 받는다. npm 설치가 꼬였을 때 네이티브로 다시 깔아 원인을 가르는 데도 쓴다.
claude setup-token
장기 OAuth 토큰 생성
CI·스크립트용 장기 토큰을 만든다. 터미널에 출력만 하고 저장하지 않으므로 그 자리에서 비밀 저장소에 넣어야 한다. Claude 구독이 필요하다.
claude mcp
MCP 서버 구성
하위 명령으로 서버를 추가·삭제·조회한다. claude mcp login <name> 은 대화형 /mcp 패널을 열지 않고 OAuth 흐름만 돌리고(SSH 에서는 --no-browser 로 URL 을 출력), claude mcp logout <name> 은 저장된 자격증명을 지운다(v2.1.186+).
claude agents
백그라운드 세션 감시·디스패치 화면
병렬 백그라운드 세션을 보고 새로 띄우는 화면을 연다. --cwd <path> 로 그 디렉터리 아래에서 시작된 것만, --json 으로 스크립트용 JSON 배열(--json --all 은 끝난 것도 포함)을 얻는다. --permission-mode·--model·--effort·--agent 로 디스패치될 세션의 기본값을 정한다.
→ 오래 걸리는 작업을 걸어두고 다른 걸 하고 싶다 · → 작업이 커서 하나의 대화로는 안 될 것 같다 · --bg, --background
claude attach / logs / stop / rm / respawn <id>
백그라운드 세션 붙기·로그·중단·목록 제거·재시작
attach 는 이 터미널에 붙이고, logs 는 최근 출력을 찍고, stop(=kill) 은 세운다. rm 은 목록에서 빼되 대화 기록은 남으므로 claude --resume 으로 다시 볼 수 있고, respawn 은 대화를 유지한 채 다시 띄운다(--all 로 전부 — 새 바이너리를 물릴 때 쓴다).
claude auth login / logout / status
로그인·로그아웃·인증 상태
login 은 --email 로 주소를 미리 채우고, --sso 로 SSO 를 강제하고, --console 로 구독 대신 Anthropic Console(API 과금) 로 붙는다.
status 는 JSON 으로 상태를 출력하고 로그인 상태면 0, 아니면 1 로 종료한다 (--text 는 사람이 읽는 형태) — CI 에서 인증 여부를 판정할 때 쓴다.
claude doctor
세션 없이 설치·설정 진단 (읽기 전용)
세션을 시작하지 않고 설치 상태·설정 파일 파싱 오류·원격 제어 가능 여부를 찍는다. 고침까지 해 주는 것은 세션 안의 /doctor 쪽이다 — 이쪽은 읽기 전용이라 스크립트에 넣기 좋다.
claude project purge [path]
프로젝트의 로컬 상태 전부 삭제
대화 기록·작업 목록·디버그 로그·파일 편집 이력·프롬프트 이력과 ~/.claude.json 의 항목까지 지운다. --dry-run 으로 먼저 보고, -i 로 항목별 확인, --all 로 전 프로젝트.
비가역이다. 경로를 생략하면 목록에서 고르게 되는데, 지우기 전에 --dry-run 으로 무엇이 사라지는지 확인할 것.
세션 시작 시 한 번 정하는 값들. 세션 안에서 바꿀 수 있는 것은 같은 이름의 슬래시 명령으로도 존재(--model ↔ /model). 자주 쓰는 것 위주로 골랐고, 플래그 80여 개의 전체 목록은 공식 cli-reference 에 있다.
--model
세션 모델 지정
최신 모델 별칭(sonnet·opus·haiku·fable) 또는 전체 모델 이름을 받는다. model 설정과 ANTHROPIC_MODEL 환경변수를 모두 덮어쓴다.
--effort
추론 강도 설정
low·medium·high·xhigh·max·ultracode 중에서 고른다(모델에 따라 가용 범위가 다르다). ultracode 는 xhigh 로 시작하면서 ultracode 를 켠 상태다. effortLevel 설정을 이 세션에만 덮어쓰고 저장되지 않는다.
--add-dir
파일 접근용 작업 디렉토리 추가
각 경로가 실제 디렉터리인지 검사한 뒤 읽기·편집 범위에 넣는다. 파일 접근만 늘어난다 — 그 디렉터리의 .claude/ 설정은 대부분 읽지 않는다. 세션마다 다시 주지 않으려면 설정의 permissions.additionalDirectories 에 적는다.
--allowedTools
확인 없이 도구 허용
"확인 없이 실행"이지 "이 도구만 쓴다"가 아니다. 도구 자체를 제한하려면 --tools 쪽이다. 값은 권한 규칙 문법을 따른다 — "Bash(git log *)" "Bash(git diff *)" "Read".
--disallowedTools
특정 도구 금지
이름만 주면 도구가 컨텍스트에서 사라지고, 범위를 주면 도구는 남고 그 호출만 막는다 — "Edit" 는 Edit 제거, "*" 는 전부 제거, "mcp__*" 는 MCP 도구 전부 제거, Bash(rm *) 는 Bash 는 남기고 rm 만 거부.
--output-format
출력 형식 지정
프린트 모드 전용. text·json·stream-json. 스크립트에서 결과를 파싱하려면 json, 진행을 흘려 받으려면 stream-json 이다.
--input-format
입력 형식 지정
프린트 모드 전용. text·stream-json. stream-json 으로 넣으면 작업 중에 보낸 메시지가 큐에 남아 자기 턴으로 실행된다(그 턴은 자기 --max-turns 한도를 따로 갖는다).
--max-turns
에이전트 턴 수 제한
프린트 모드 전용이고 기본값은 무제한이다. 한도에 닿으면 오류로 종료한다 — 성공으로 끝나지 않으므로 스크립트가 조용히 잘린 결과를 쓰는 일은 없다.
--verbose
상세 로그 활성화
턴 단위 출력을 전부 보여주고, 이 세션의 viewMode 설정을 덮어쓴다. stream-json 계열 플래그 몇 개는 이 플래그를 함께 요구한다.
--continue / --resume
세션 이어가기 / 재개
--continue 는 현재 디렉터리의 가장 최근 대화를 불러오는데, 백그라운드 세션·claude -p· SDK·첫 프롬프트가 /loop 인 세션은 건너뛴다(claude -p --continue 는 그것들도 포함한다).
--resume 은 ID·이름으로 재개하거나 선택기를 연다. ID 를 주면 현재 프로젝트와 그 워크트리를 먼저 찾고, 없으면 이 기기의 다른 프로젝트까지 찾는다(v2.1.223+). 둘 다 /add-dir 로 이 디렉터리를 추가했던 세션까지 포함한다.
--from-pr
PR 연결 세션 재개
특정 PR 에 연결된 세션만 걸러 선택기를 연다. PR 번호, GitHub·GitHub Enterprise PR URL, GitLab MR URL, Bitbucket PR URL 을 받는다. Claude 가 PR 을 만들면 연결은 자동으로 걸린다.
--fork-session
세션을 복사해 분기 후 재개
--resume·--continue 와 함께 쓴다. 원래 세션 ID 를 재사용하지 않고 새 ID 를 만든다 — 원본을 남긴 채 다른 방향을 시험할 때 쓴다.
--dangerously-skip-permissions
모든 권한 확인 생략
--permission-mode bypassPermissions 와 같다. 모든 것을 생략하는 것은 아니다 — 어떤 모드도 자동 승인하지 않는 행위는 그대로 남는다. --bg 로 띄운 세션에서는 감독 프로세스가 재시작해도 이 모드가 유지된다.
컨테이너·VM 처럼 격리된 곳에서만 쓸 것. 권한 확인이 잦은 것이 문제라면 --allowedTools 나 /fewer-permission-prompts 가 답이다.
--tools
쓸 수 있는 내장 도구 자체를 제한
--allowedTools 와 축이 다르다 — 이쪽은 도구의 존재 여부를 정한다. "" 는 전부 끄기, "default" 는 전부, "Bash,Edit,Read" 처럼 이름 나열도 된다.
MCP 도구에는 영향이 없다 — 그쪽까지 막으려면 --disallowedTools "mcp__*" 를 같이 쓴다.
--worktree, -w
격리된 git 워크트리에서 시작
<repo>/.claude/worktrees/<name> 에 워크트리를 만들어 그 안에서 시작한다. 이름을 주지 않으면 자동 생성한다. #123 이나 PR·MR URL 을 주면 그 PR 을 origin 에서 가져와 거기서 분기한다.
--tmux 를 같이 주면 그 워크트리용 tmux 세션까지 만든다(iTerm2 가 있으면 네이티브 패널).
--bg, --background
백그라운드 에이전트로 시작하고 바로 반환
세션 ID 와 관리 명령을 출력하고 즉시 돌아온다. --agent 와 함께 특정 서브에이전트로 띄우거나, --exec 와 함께 Claude 세션이 아니라 셸 명령을 백그라운드 잡으로 돌릴 수 있다 (claude --bg --exec 'pytest -x').
-p/--print 와 함께 쓸 수 없다.
--name / --session-id
세션 표시 이름 / 세션 ID 지정
--name(-n) 은 /resume 목록과 터미널 제목에 뜨는 이름이고, 그 이름으로 재개할 수도 있다 (claude --resume <name>). 같은 기기의 다른 세션이 쓰는 이름이면 변형된 이름이 붙는다.
--session-id 는 대화에 쓸 ID 를 직접 정한다(유효한 UUID 여야 한다) — 스크립트가 나중에 그 세션을 다시 찾아야 할 때 쓴다.
--debug / --debug-file
디버그 모드 / 로그 파일 경로
범주를 걸러 볼 수 있다 — --debug='mcp,startup', --debug='!1p'. 필터는 = 형태에서만 붙는다(공백으로 주면 필터 없이 디버그만 켜진다). --debug-file <path> 는 파일로 쓰면서 디버그를 자동으로 켜고 CLAUDE_CODE_DEBUG_LOGS_DIR 보다 우선한다.
--allow-dangerously-skip-permissions
bypass 를 Shift+Tab 순환에만 추가 (시작은 다른 모드)
바로 들어가지 않고 갈 수 있게만 열어 둔다. --permission-mode plan 으로 시작해 계획을 받은 뒤 필요할 때 Shift+Tab 으로 bypass 까지 돌릴 수 있다 — 처음부터 우회 상태로 시작하는 --dangerously-skip-permissions 와 다르다.
세션 안에서 치는 명령. 대화 흐름을 끊지 않고 상태를 바꾸거나 확인할 때 사용.
/help
도움말 표시
사용 가능한 슬래시 명령어 전체 목록과 간단한 설명을 보여준다. 명령어 이름을 까먹었을 때 빠르게 찾을 수 있다.
/init
코드베이스 분석해 CLAUDE.md 생성/개선
이미 CLAUDE.md 가 있으면 덮어쓰지 않고 개선을 제안한다. CLAUDE_CODE_NEW_INIT=1 을 설정하면 스킬·훅까지 묻는 대화형 흐름이 되고, 다른 코딩 에이전트의 설정을 발견하면 /import 로 옮기길 제안한다.
/exit
CLI 종료(별칭 /quit · 백그라운드는 분리)
백그라운드 세션에 붙어 있을 때는 세우지 않고 빠져나온다 — 세우려면 /stop 이다.
/clear [name]
새 대화 시작
이름을 붙여 두면 /resume 목록에서 방금 자른 대화를 알아볼 수 있다. 이어가면서 자리만 확보하려면 /compact 다. 별칭은 /reset·/new.
→ 토큰이 빨리 닳고 대화가 무거워진다 · → 건드리면 안 되는 걸 건드릴까 봐 불안하다 · /clear [name]
대화 요약, 컨텍스트 확보
지금까지의 대화를 요약해서 컨텍스트를 줄인다. 선택적으로 계속할 지시를 입력하면 요약된 상태에서 이어서 작업한다. 긴 대화가 느려졌을 때 유용하다.
/context [all]
컨텍스트 사용량 표시
비용이 아니라 컨텍스트 분포를 색 격자로 보여준다(비용은 /usage·/cost 쪽이다). 컨텍스트를 많이 쓰는 도구, 비대해진 메모리 파일, 한계 임박 경고가 함께 뜬다.
전체화면 모드에서는 격자를 살리려고 항목별 내역을 접는데, all 을 주면 펼친다.
/config
설정 패널 열기
key=value 를 넘기면 화면을 열지 않고 값만 바꾼다(/config thinking=false, /config theme=dark). /config --help 로 설정 가능한 키 전체를 볼 수 있다.
/status
세션 상태·진행 작업 표시
버전·모델·계정·연결 상태를 보여주고 응답 중에도 즉시 실행된다.
/doctor
설정 진단 및 문제 해결
설치·PATH·설정 파일 파싱을 점검하고 고치기까지 한다. 쓰지 않는 스킬·MCP·플러그인을 컨텍스트 비용과 함께 지목하고, 커진 CLAUDE.md 를 덜어내는 제안도 한다. 세션을 열지 않고 읽기 전용으로만 보려면 셸에서 claude doctor 다.
/usage, /cost
토큰 사용량·비용 표시
유료 플랜에서는 스킬·서브에이전트·플러그인·MCP 서버별 내역까지 쪼개 준다. /stats 도 같은 것이다. 플랜 사용량은 터미널·데스크톱·웹이 공유한다.
/model [model]
세션 내 모델 변경
새 세션의 기본값으로도 저장된다 — 이번 세션만 바꾸려면 선택기에서 그 줄에 s 를 누른다. 좌우 화살표로 추론 강도까지 같이 조정한다.
/effort [level|auto]
추론 강도 조정
low~xhigh·max·ultracode·auto. status 는 현재 값을 찍는다. max 와 ultracode 는 세션 한정이다.
/resume
다른 대화로 돌아가기
백그라운드 세션은 bg 로 표시되고 아직 돌고 있는 것은 여기서 재개할 수 없다 — claude agents 에서 붙거나 거기서 먼저 세운다.
/rename [name]
현재 세션 이름 변경
이름을 생략하면 대화 이력에서 자동 생성한다. 제어문자는 공백으로 치환되고 200자에서 잘린다.
/branch [name]
현재 지점에서 대화 분기
분기 쪽으로 들어간다. 원본은 남고 /resume 으로 돌아온다. 복사본을 백그라운드로 띄우고 나는 남으려면 /fork, 곁가지를 맡기려면 /subtask.
/export [filename]
대화를 텍스트로 내보내기
파일명을 주면 바로 쓰고, 없으면 클립보드 복사·파일 저장을 고르는 대화상자가 열린다.
/diff
변경사항 대화형 뷰어
커밋 안 된 변경과 턴별 diff 를 좌우 화살표로 넘겨 본다. git blob 원본에서 계산하므로 .gitattributes 의 diff 드라이버는 적용되지 않는다.
/ide
IDE 연동 관리·상태 표시
시작할 때 자동으로 붙이려면 claude --ide 인데, 유효한 IDE 가 정확히 하나일 때만 붙는다.
/mcp
MCP 서버 연결 관리
reconnect <server> 로 끊긴 하나만 다시 붙이고, enable/disable 에 이름이나 all 을 주면 대화상자 없이 상태만 바꾼다. -p 에서는 목록 대신 상태 요약을 텍스트로 찍는다.
손이 기억하면 가장 빨라지는 것들. Shift+Tab(권한 모드)과 Esc(중단) 둘만 익혀도 체감 큼.
Ctrl+C
중단 (2회=종료)
돌고 있는 것이 있으면 중단, 없으면 입력 비우기다. 아무것도 안 돌고 있을 때 한 번 누르면 프롬프트가 비고, 한 번 더 누르면 Claude Code 가 종료된다.
Ctrl+D
Claude Code 종료
첫 누름에 확인 안내가 뜨고 800ms 안에 다시 눌러야 종료된다. 입력창에 글자가 있으면 종료가 아니라 커서 뒤 한 글자를 지운다.
Ctrl+O
트랜스크립트 뷰어 토글
도구 사용과 실행을 자세히 보여주고, 어시스턴트 메시지마다 타임스탬프와 쓰인 모델이 붙는다. 기본적으로 "Called slack 3 times" 처럼 한 줄로 접히는 MCP 호출도 여기서 펼쳐진다.
전체화면 렌더링에서는 뷰어 안에서 {·}(이전·다음 사용자 프롬프트), [(대화를 터미널 스크롤백에 기록), v(임시 파일로 열기), q·Esc(나가기)가 동작한다.
Ctrl+R
명령어 히스토리 역검색
Ctrl+T
작업(task) 목록 토글
Claude 의 할 일 체크리스트를 상태 영역에 보이거나 감추는 것이다 — 백그라운드 작업 보기가 아니다. 돌고 있는 셸·서브에이전트는 /tasks 쪽이다.
Ctrl+B
실행 중 작업을 백그라운드로 (tmux는 2회)
Bash 명령과 에이전트를 백그라운드로 보낸다. 세션 자체를 떼어내는 것은 /background 다.
Ctrl+X Ctrl+K
백그라운드 서브에이전트 전부 중단 (3초 내 2회)
이 세션의 백그라운드 서브에이전트를 모두 세우고, 남은 세션 동안 아티팩트 자동 답글도 끈다. 확인을 위해 3초 안에 두 번 눌러야 한다.
Ctrl+S
프롬프트 보관 · 빈 입력에서 다시 누르면 복원
복원할 때 커서 위치와 붙여넣은 내용까지 같이 돌아온다. 쓰던 프롬프트를 버리지 않고 급한 질문을 먼저 보낼 때 쓴다.
Ctrl+V / Alt+V
클립보드 이미지 붙여넣기
커서 위치에 [Image #N] 칩이 들어가므로 프롬프트 안에서 위치로 참조할 수 있다 ("두 번째 이미지의 오류" 처럼). iTerm2 는 Cmd+V, Windows·WSL 은 Alt+V 이고, WSL 은 둘 다 걸려 있다(터미널이 Ctrl+V 를 가로채면 Alt+V).
Ctrl+L
화면 다시 그리기 (입력·대화 유지)
화면이 깨지거나 일부가 비어 보일 때 강제로 다시 그린다. 입력과 대화는 그대로 남는다.
v2.1.238 부터는 두 번 눌러도 대화가 지워지지 않는다 — 그 전에는 2초 안에 Ctrl+L 이나 Cmd+K 를 두 번 누르면 /clear 가 돌았다. 지금 대화를 비우려면 /clear 를 직접 쓴다.
Ctrl+Z
프로세스 일시 중지 (Unix, fg 로 복귀)
Ctrl+G
프롬프트/응답을 기본 편집기로 열기
readline 식 Ctrl+X Ctrl+E 도 같은 동작이다. /config 에서 Show last response in external editor 를 켜면 직전 응답이 # 주석으로 함께 열린다.
Esc
응답·도구 호출 중단, 대화상자 닫기
턴 중간에 세워도 거기까지 한 일은 남는다. 큐에 넣어 둔 메시지가 있으면 그것을 다음으로 보낸다. 대화상자가 열려 있으면 닫고, 권한 프롬프트에서는 거부로 처리한다.
Esc Esc
초안 삭제, 비어있으면 되돌리기
글자가 있으면 지우면서 초안을 히스토리에 저장하므로 Up 으로 되살릴 수 있다. 입력이 비어 있으면 되돌리기 메뉴가 열린다(코드·대화를 이전 지점으로).
Shift+Tab
권한 모드 순환 전환
Windows 에서 런타임이 VT 입력 모드를 못 켜면 Alt+M 이 같은 역할을 한다. 순환 순서는 Manual(default) → acceptEdits → plan → (가능하면) bypassPermissions → auto.
Alt+P / Option+P
모델 전환
쓰던 프롬프트를 비우지 않고 바꾼다.
Alt+T / Option+T
확장 사고 토글
Fable 5 에는 효과가 없다(항상 확장 사고를 쓴다). macOS 에서는 Option 을 Meta 로 설정하지 않아도 동작하는 몇 안 되는 Alt 계열 키다.
Alt+O / Option+O
패스트 모드 토글
@
파일 경로 언급 자동완성
교차 세션 메시징이 켜진 세션에서는 @ 뒤에 한 글자 이상 치면 이 기기의 다른 라이브 세션도 후보로 뜬다 — 골라서 그 세션에 메시지를 보내게 할 수 있다.
!
셸 모드 진입
명령을 직접 돌리고 그 출력이 세션에 들어가며 Claude 가 그것에 대해 응답한다 — 결과를 복사해 붙여 넣는 왕복이 없어진다.
Ctrl+K / Ctrl+U / Ctrl+W / Ctrl+Y
줄 끝까지·줄 시작까지·앞 단어 삭제 / 삭제한 것 붙여넣기
지운 것은 보관되므로 Ctrl+Y 로 붙여넣을 수 있고, 붙여넣은 뒤 Alt+Y 로 이전에 지운 것들을 순환한다. macOS 에서는 Cmd+Backspace 가 Ctrl+U, Option+Delete 가 Ctrl+W 에 매핑되고 Windows 는 Ctrl+Backspace 가 Ctrl+W 다.
Ctrl+W 가 공백 단위로 지우게 하려면 설정의 keybindingFlavor 를 "readline" 로 둔다. 되돌리기는 Ctrl+_(또는 Ctrl+Shift+-)다.
Alt+B / Alt+F / Alt+D
단어 단위 이동·삭제
macOS 에서는 Option 을 Meta 로 설정해야 동작한다(터미널 설정). keybindingFlavor: "readline" 이면 Alt+F·Alt+D 의 경계 판정이 단어 끝 기준으로 바뀐다.
역슬래시+Enter · Option+Enter · Shift+Enter · Ctrl+J
\ 뒤에 Enter 는 모든 터미널에서 되고, Ctrl+J 도 설정 없이 된다. Shift+Enter 는 iTerm2·WezTerm·Ghostty·Kitty·Warp·Apple Terminal·Windows Terminal 에서 기본 동작하고, 그 외 터미널은 /terminal-setup 으로 잡는다. Option+Enter 는 macOS 에서 Option 을 Meta 로 설정한 뒤.
?
단축키 도움 패널 토글 (빈 입력에서)
입력이 비어 있을 때만 패널이 열린다 — 글자가 있으면 그냥 ? 가 입력된다. 전체화면 렌더링이 필요하다.
:name: 로 이모지 삽입 / 스페이스로 음성 입력
:name: 을 전부 치면 이모지가 들어가고, 두 글자 이상이면 후보가 뜬다(v2.1.217+). 스페이스를 누르고 있으면 음성 입력이 된다 — /voice 로 켜 두어야 하고 /voice tap 으로 눌러서 시작·정지 방식으로 바꿀 수 있다.
컨텍스트를 따로 쓰는 별도 에이전트. 실질 이점은 전문성이 아니라 격리 — 넓게 훑어야 하는데 결론만 필요할 때 본 대화가 무거워지지 않음.
Task 도구로 호출: subagent_type=이름 · .claude/agents/*.md frontmatter(name/description/tools/model)로 정의 · --agent/--agents 플래그로도 지정 가능
실질 이점은 전문성이 아니라 컨텍스트 격리다. 탐색으로 파일 50개를 훑어야 하는데 그 내용이 본 대화에 다 쌓이면 이후 작업이 계속 무거워진다. 서브에이전트에 맡기면 결론만 돌아온다.
쓸 자리는 셋이다 — 넓게 훑고 결론만 필요할 때, 같은 일을 여러 관점으로 각각 돌릴 때, 실패해도 본 대화가 안 다쳐야 할 때. 반대로 맥락이 계속 이어져야 하는 작업은 쪼개면 오히려 나빠진다.
결과는 요약이라 근거가 잘려 있다. 중요한 판정은 파일 경로와 재현 명령을 같이 요구하고, 받은 뒤 직접 확인할 것.
frontend-developer
UI/컴포넌트/스타일링
backend-developer
서버, API, 아키텍처
api-developer
API 설계·문서화·통합
mobile-developer
iOS/Android 앱
python-developer
javascript-developer · typescript-developer
php-developer
wordpress-developer · ios-developer
database-designer
설계·최적화·모델링
code-reviewer
code-debugger · code-documenter
code-refactor
code-security-auditor
code-standards-enforcer
스타일/일관성
위 17종은 원본 프로젝트에서 온 개발직군 롤 템플릿이다 (legacy/subagents/)
이 목록은 이 리포가 갈라져 나온 원본(Njengah/claude-code-cheat-sheet)의 템플릿이고, wordpress-developer·php-developer 처럼 특정 직군에 묶인 것이 많다. 내 작업과 맞는지 확인된 바 없으므로 그대로 쓰기보다 필요한 것만 골라 다시 쓰는 편이 낫다.
원문은 legacy/subagents/*.md 에 그대로 남겨뒀다(MIT, 본문은 한국어). 쓸 만한 게 있으면 거기서 가져와 .claude/agents/ 에 두면 된다.
세션 도중 Shift+Tab 으로 순환 전환. 시작할 때 고정하려면 --permission-mode. 모드는 "무엇을 물어보는가"만 결정, "무엇을 할 수 있는가"는 allow/deny 규칙과 샌드박스가 별도 결정.
default (Manual)
읽기만 자동 승인. 쓰기·실행은 매번 물어본다.
가장 보수적인 값이다. Read/Glob/Grep 계열은 확인 없이 돌고 Edit/Write/Bash 는 호출마다 승인 카드가 뜬다.
카드에서 "이 명령은 다시 묻지 않기"를 고르면 그 패턴이 .claude/settings.local.json 의 permissions.allow 에 누적된다. 즉 default 로 며칠 쓰면 내 작업 패턴에 맞는 allow 목록이 저절로 만들어지고, 그 목록을 그대로 들고 상위 모드로 옮길 수 있다. 처음엔 default 로 며칠 → 쌓인 allow 확인 → 모드 상향이 실무 순서다.
claude --permission-mode default
누적된 allow 규칙은 .claude/settings.local.json 에 남고 여기엔 내 로컬 경로가 섞인다. 리포를 공개할 거면 이 파일이 .gitignore 에 있는지 먼저 볼 것.
→ 처음 깔았다, 무엇부터 해야 하나 · → 승인 창이 너무 자주 떠서 흐름이 끊긴다 · dontAsk · /permissions
acceptEdits
파일 편집·기본 파일시스템 명령을 자동 승인한다.
Edit/Write 와 mkdir·mv 같은 기본 파일시스템 명령이 확인 없이 돈다. 네트워크 호출이나 패키지 설치처럼 바깥에 영향을 주는 동작은 여전히 물어본다.
"코드를 계속 고치는 중이라 편집 승인만 귀찮다"는 상황에 정확히 맞는 값이다. auto 로 한 번에 올리는 것보다 여기서 멈추는 편이 통제 범위를 이해하기 쉽다.
plan
읽기 전용 탐색만 하고, 편집 전에 계획을 먼저 내놓는다.
탐색 단계에서 파일이 고쳐지는 사고를 구조적으로 막는다. 낯선 코드베이스를 파악할 때, 또는 "일단 어떻게 할 건지 보고 결정하겠다"일 때 쓴다.
Ctrl+G 로 계획 결과를 편집기에서 열 수 있다. 계획에 동의하면 모드를 내려서 실행한다.
auto
분류기가 위험도를 판정해 대부분의 도구 호출을 자동 승인한다.
분류기의 기준은 되돌릴 수 있는가다. rm -rf, force push, 프로덕션 배포, 시크릿이 나갈 수 있는 동작은 auto 에서도 카드가 뜬다.
2026-08-14 부터 Pro/Max/Team 의 신규 세션 기본값이 이 모드로 바뀐다. 기존 세션은 재개해도 이전 모드를 유지하므로, 어느 날 갑자기 승인 카드가 덜 뜨기 시작하면 이 전환을 먼저 의심할 것.
"대부분 자동 승인"이지 "전부"가 아니다. CI 처럼 사람이 없는 환경에서 쓰면 카드가 뜨는 순간 그 자리에서 사람을 기다리며 멈춘다. 무인 실행은 dontAsk 다.
→ 승인 창이 너무 자주 떠서 흐름이 끊긴다 · → CI나 스크립트에서 사람 없이 돌리고 싶다 · dontAsk · /sandbox
dontAsk
사전 승인된 도구만 실행하고 나머지는 그냥 실패시킨다. CI용.
auto 와의 차이가 핵심이다 — auto 는 판단이 안 서면 묻고 멈추지만, dontAsk 는 묻지 않고 실패한다. 무인 실행에서는 멈춤보다 실패가 낫다. 로그에 남고, 재시도할지 사람이 정할 수 있기 때문이다.
default 로 며칠 쓰며 쌓아둔 permissions.allow 목록이 여기서 그대로 재사용된다.
claude -p "커버리지 분석" --permission-mode dontAsk --max-turns 3
bypassPermissions
모든 검사를 생략한다. 격리 환경 전용.
--dangerously-skip-permissions 와 같은 자리다. 이름에 dangerously 가 들어간 이유가 있다 — 되돌릴 수 없는 동작이 확인 없이 지나간다.
쓸 만한 자리는 하나뿐이다: 버려도 되는 컨테이너 안. 로컬 작업 디렉터리에서 "귀찮아서" 켜는 용도가 아니다. 승인 창이 잦은 게 문제라면 allow 규칙을 쌓거나 샌드박스를 켜는 쪽이 맞다.
이 모드를 쓰기 전에 되돌릴 수 있는 상태인지 먼저 볼 것 — 커밋했는지, 브랜치를 팠는지. /rewind 는 Claude 가 추적하는 변경만 되돌린다.
→ 건드리면 안 되는 걸 건드릴까 봐 불안하다 · --allowedTools "Bash(git log:*)" \ · /sandbox
2026-08-14부터 Pro/Max/Team 신규 세션 기본값이 auto 모드로 전환
Hooks 는 Claude가 도구를 쓰는 시점에 개입, 플러그인은 명령·스킬·훅·MCP를 한 묶음으로 배포. 둘 다 "내 워크플로를 Claude 쪽에 심는" 장치.
Hooks
settings.json의 hooks.<Event>[] (PreToolUse/PostToolUse/SessionStart/Stop 등), /hooks로 확인
settings.json 의 hooks.<Event>[] 에 matcher 와 실행할 명령을 적는다. 주요 이벤트: PreToolUse(도구 호출 직전) · PostToolUse(성공 직후) · SessionStart · Stop(응답 종료).
차단은 PreToolUse 에서 exit code 2 로만 된다. stdout 이 Claude 에게 사유로 전달되므로 "왜 막혔는지"를 사람이 아니라 Claude 가 읽고 스스로 고친다. PostToolUse 는 이미 실행된 뒤라 차단이 아니라 뒷정리(포매터 등)용이다.
중요한 경계 하나 — 훅은 Claude 의 도구 호출에만 걸린다. 내가 터미널에서 직접 치는 git commit 은 막지 못한다. 그건 husky·lefthook 같은 git 훅의 몫이고, 둘은 층이 다르다.
// .claude/settings.json
{
"hooks": {
"PreToolUse": [{
"matcher": "Bash(git commit:*)",
"hooks": [{ "type": "command", "command": "npm test --silent" }]
}]
}
}
훅은 매 도구 호출마다 돈다. 전체 테스트를 PreToolUse 에 걸면 파일 하나 고칠 때마다 몇 분씩 멈춘다. matcher 를 좁히거나 빠른 검사만 걸 것. 설정에 썼는데 /hooks 목록에 안 보이면 JSON 문법 오류이거나 파일 위치가 틀린 것이다.
→ 커밋 전에 자동으로 뭔가 돌리고 싶다 · → 건드리면 안 되는 걸 건드릴까 봐 불안하다 · .claude/commands/*.md · 설명
.claude-plugin/plugin.json 매니페스트, claude plugin install <name>@<marketplace>, /plugin
플러그인은 슬래시 명령·스킬·훅·MCP 서버·에이전트를 한 묶음으로 배포하는 단위다. .claude-plugin/plugin.json 이 매니페스트이고, 마켓플레이스에서 설치하거나 로컬 디렉터리를 --plugin-dir 로 바로 물릴 수 있다.
직접 만들기 전에 순서를 지키면 헛수고를 줄인다 — 이미 있는 커넥터 → 마켓플레이스 플러그인 → 그래도 없으면 직접. /plugin 으로 마켓플레이스를 연다.
→ 같은 지시를 매번 치기 싫다 · → 외부 서비스나 내 도구를 붙이고 싶다 · Project · --mcp-config / --plugin-dir
프로젝트 규칙·빌드 명령·하지 말 것을 적어두는 자리. 이게 없으면 매 세션 같은 설명 반복.
로드 순서: managed policy → ~/.claude/CLAUDE.md → ./CLAUDE.md → CLAUDE.local.md
뒤에 오는 것이 앞을 덮는 게 아니라 전부 함께 로드된다. 그래서 층을 나눠 쓴다 — 전역(~/.claude/CLAUDE.md)에는 어느 프로젝트에서나 통하는 내 작업 방식, 프로젝트(./CLAUDE.md)에는 이 리포의 규칙, CLAUDE.local.md 에는 커밋하지 않을 개인 메모.
managed policy 는 조직이 배포하는 것이라 개인 설정으로 뒤집을 수 없다.
상위 디렉터리의 CLAUDE.md 는 시작 시 전부 로드되지만, 하위 디렉터리의 것은 그 디렉터리 파일을 읽을 때 비로소 로드된다.
CLAUDE.local.md 는 .gitignore 에 넣을 것. 로컬 경로나 개인 메모가 그대로 커밋된다.
@path/to/file
@path/to/file 로 다른 문서 import(최대 4단계)
CLAUDE.md 가 길어지면 @docs/architecture.md 처럼 쪼개 넣는다. 최대 4단계까지 중첩 import 된다.
쪼개는 기준은 "매 세션 필요한가"다. 항상 필요한 것만 CLAUDE.md 본문에 두고, 가끔 필요한 것은 별도 파일로 두었다가 그때만 @ 로 붙이는 편이 컨텍스트를 아낀다.
/memory
/memory 로 편집 · Auto Memory: 학습 내용을 스스로 기록
/memory 는 어느 CLAUDE.md 를 고칠지 고르는 편집기를 연다. Auto Memory 는 작업 중 알게 된 것을 Claude 가 스스로 기록하는 기능이다.
자동 메모리는 기본 켜짐 — /memory 안의 토글이나 autoMemoryEnabled 설정으로 끈다. 저장 위치는 ~/.claude/projects/<프로젝트>/memory/ 이고 git 저장소 단위라 같은 리포의 worktree 들이 하나를 공유한다(머신 로컬, 클라우드 미공유). 인덱스 MEMORY.md 는 매 세션 처음 200줄/25KB만 로드되므로 짧게 유지해야 한다.
실무 팁 — 탐색을 마친 직후가 가장 좋은 기록 시점이다. 그때 적어두지 않으면 다음 세션에서 같은 탐색을 처음부터 반복하게 된다.
권한을 넓히는 대신 피해 범위를 좁히는 층. 파일시스템과 나가는 네트워크를 제한. 네이티브 Windows 는 미지원.
/sandbox
/sandbox, settings.json의 sandbox.enabled / filesystem.* / network.allowedDomains
권한 모드가 "무엇을 물어보는가"를 정한다면, 샌드박스는 "물어보지 않고 실행돼도 어디까지 망가질 수 있는가" 를 정한다. 두 축이 독립이라 같이 쓸 때 의미가 있다 — allow 규칙을 넓히더라도 샌드박스가 반경을 잡아준다.
network.allowedDomains 가 특히 값을 한다. MCP 커넥터나 스크립트가 예상 밖의 곳으로 데이터를 보내는 경로를 도메인 화이트리스트로 막는다.
// .claude/settings.json
{
"sandbox": {
"enabled": true,
"network": { "allowedDomains": ["registry.npmjs.org", "github.com"] }
}
}
→ 건드리면 안 되는 걸 건드릴까 봐 불안하다 · bypassPermissions · sandbox.network.allowedDomains
macOS=Seatbelt, Linux/WSL2=bubblewrap
OS 기본 격리 기술을 그대로 쓴다 — macOS 는 Seatbelt, Linux/WSL2 는 bubblewrap. 별도 컨테이너 런타임을 깔지 않아도 되는 대신, 그 기술이 없는 플랫폼에서는 동작하지 않는다. Windows 에 구현이 없는 이유가 이것이다.
네이티브 Windows 미지원 — WSL2 필요
세션을 붙잡고 기다릴 필요가 없는 작업을 떼어내는 층. 떼어내는 방식은 셋, "지금 대화를 분리할 것인가 / 새로 띄울 것인가 / 기기를 옮길 것인가"로 구분.
백그라운드·클라우드 세션 명령 모음
--bg 는 처음부터 세션에 묶이지 않게 띄운다. claude agents 로 목록을 보고 attach 로 붙었다가 떼어낼 수 있다. 진행만 보려면 logs.
--cloud 는 실행 자체를 웹으로 올린다. 노트북을 닫아도 계속 돌고, 나중에 --teleport 로 로컬로 가져온다. 오래 걸리는 작업을 퇴근길에 걸어둘 때 쓰는 경로다.
claude --bg "작업 지시" # 백그라운드 실행
claude agents # 목록/대시보드
claude attach|logs|stop <id> # 연결/로그/중지
claude respawn <id> # 재시작
claude --cloud "작업" # 웹 세션 생성
claude --teleport # 웹 세션→로컬 이동
백그라운드 작업도 토큰을 쓴다. 여러 개를 걸어두면 사용량이 눈에 안 보이는 채로 늘어난다. 일회성 작업에는 --max-turns 를 걸고 /usage 로 주기적으로 확인할 것.
/background
/background(/bg), /tasks 로 세션 내 관리
이미 진행 중인 대화를 떼어낼 때 쓴다. --bg 가 "처음부터 백그라운드"라면 /background 는 "하던 걸 백그라운드로". /tasks 로 목록을, Ctrl+T 로 토글한다.
비슷해 보이지만 다른 것 — /fork 는 대화를 복사해 새 백그라운드 세션을 만든다. 원본을 남겨두고 다른 접근을 병렬로 시험할 때 이쪽이다.
→ 오래 걸리는 작업을 걸어두고 다른 걸 하고 싶다 · → 작업이 커서 하나의 대화로는 안 될 것 같다 · /fork · Ctrl+T
비교적 최근에 붙은 플래그들. 문제 발생 시 원인을 좁히는 --safe-mode·--bare 가 특히 실전에서 유용.
--permission-mode <mode>
시작 권한 모드 지정
default·acceptEdits·plan·auto·dontAsk·bypassPermissions 를 받고, manual 은 default 의 별칭이다(UI 가 Manual 로 표기하는 그 모드, v2.1.200+). 설정 파일의 defaultMode 를 덮어쓴다.
--agent / --agents
세션 에이전트 지정/JSON 정의
--agent 는 이 세션이 쓸 에이전트를 정하고 agent 설정을 덮어쓴다. --agents 는 파일을 만들지 않고 JSON 으로 서브에이전트를 정의한다 — --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'.
--safe-mode
커스터마이제이션 전체 비활성화
설정이 깨졌을 때 원인을 가르는 도구다. CLAUDE.md·스킬·플러그인·훅·MCP 서버·커스텀 명령·에이전트·출력 스타일·워크플로·커스텀 테마·키바인딩·상태줄·LSP·자동 메모리가 전부 안 뜬다.
인증·모델 선택·내장 도구·권한은 정상 동작한다 — 이 점이 --bare 와 다르다.
--bare
훅·스킬·플러그인·MCP 생략
목적이 진단이 아니라 속도다. 훅·스킬·커스텀 명령·서브에이전트·플러그인·MCP 서버· 자동 메모리·CLAUDE.md 의 자동 탐색을 건너뛰어 스크립트 호출이 빨리 시작된다. Bash·파일 읽기·파일 편집 도구는 남고, --add-dir 로 넘긴 디렉터리의 스킬은 여전히 로드된다. CLAUDE_CODE_SIMPLE 을 세운다.
--settings <path|json>
설정 파일/인라인 JSON 지정
여기서 준 키만 settings.json 의 같은 키를 이 세션에 대해 덮어쓴다 — 적지 않은 키는 파일 값을 그대로 쓴다. 파일이면 일반 파일이어야 하고 2 MiB 를 넘을 수 없다.
--autocompact <auto|tokens>
자동 컴팩트 기준 설정
/autocompact 와 같은 값을 받되 저장된 설정을 바꾸지 않고 이 세션에만 적용한다 (claude --autocompact 500k). v2.1.221+.
과부하 시 폴백 모델
주 모델이 과부하이거나 없을 때(예: 은퇴한 모델) 넘어갈 모델을 쉼표로 나열한 순서대로 시도한다. fallbackModel 설정을 덮어쓰고, 세션을 넘겨 유지하려면 그 설정에 적는다.
지출 상한 (프린트 모드)
프린트 모드 전용. 서브에이전트의 지출도 합산된다. 상한에 닿으면 새 서브에이전트 생성이 Budget limit reached 로 실패하고, 돌고 있던 백그라운드 서브에이전트도 중단된다(v2.1.217+).
--system-prompt[-file]
시스템 프롬프트 교체/추가
네 개가 짝을 이룬다 — --system-prompt(전체 교체) · --system-prompt-file(파일로 교체) · --append-system-prompt(뒤에 덧붙임) · --append-system-prompt-file(파일 내용을 덧붙임).
교체는 기본 프롬프트를 통째로 버린다 — 도구 사용 규칙까지 사라지므로, 지침을 더하고 싶은 것이라면 append 쪽이다.
--mcp-config / --plugin-dir
MCP·플러그인 로컬 로드
--mcp-config 는 JSON 파일·문자열에서 MCP 서버를 읽는다. -p 와 함께 쓰면 첫 턴 전에 아직 연결되지 않은 서버를 기다린다(MCP_TIMEOUT, 기본 30초. 도구 목록이 캐시된 서버는 기다리지 않는다).
--plugin-dir 는 디렉터리나 .zip 에서 이 세션만 쓸 플러그인을 읽는다 — 플래그 하나에 경로 하나이므로 여러 개면 반복해서 준다.
--strict-mcp-config
--mcp-config 의 서버만 사용
다른 MCP 설정 전부를 무시한다. 재현 가능한 스크립트 실행에서 내 개인 MCP 설정이 섞여 들어오는 것을 막는 용도다.
--setting-sources
불러올 설정 출처 지정 (user·project·local)
쉼표로 나열한다(--setting-sources user,project). CI 에서 개발자 로컬 설정을 빼고 돌리고 싶을 때처럼, 어느 층까지 읽을지를 명시할 수 있다.
--json-schema
스키마에 맞는 검증된 JSON 출력 (프린트 모드)
작업이 끝난 뒤 JSON Schema 에 맞는 출력을 받는다. 스키마가 잘못되면 오류로 종료하므로 파이프 뒤쪽이 깨진 JSON 을 받는 일이 없다. format 키워드는 주석으로만 받고 검증하지 않는다.
--cloud / --teleport
웹 세션 생성·지목 / 웹 세션을 터미널로
--cloud 에 작업 설명을 주면 claude.ai 에 새 웹 세션을 만들고, 세션 ID(session_...· cse_...)나 claude.ai/code URL 을 주면 그 세션을 지목한다 — -p 면 메시지를 큐에 넣고, -p 가 없으면 내 터미널을 붙인다. --remote 는 이것의 옛 별칭이다.
--teleport 는 반대 방향으로, 웹 세션을 로컬 터미널에서 이어받는다.
--remote-control, --rc
원격 제어를 켠 대화형 세션
claude.ai 나 Claude 앱에서도 조작할 수 있는 상태로 시작한다. 이름을 붙일 수도 있다. 자동 생성 이름의 접두어는 기본이 호스트명이라 myhost-graceful-unicorn 같은 이름이 된다.
--advisor <model>
어드바이저 도구를 이 세션에서 켜기
fable·opus·sonnet 또는 전체 모델 ID 를 받고, 이 세션에 대해 advisorModel 설정보다 우선한다. fable 은 Fable 5 접근 권한이 필요하다.
--exclude-dynamic-system-prompt-sections
기기별 섹션을 첫 사용자 메시지로 옮겨 캐시 재사용률 높이기
작업 디렉터리·환경 정보·메모리 경로·git 저장소 여부 같은 기기마다 다른 조각을 시스템 프롬프트에서 빼 첫 사용자 메시지로 옮긴다. 같은 작업을 여러 사람·여러 기기가 돌릴 때 프롬프트 캐시가 재사용된다.
기본 시스템 프롬프트에만 적용되고 --system-prompt[-file] 을 주면 무시된다.
--no-session-persistence
세션을 디스크에 남기지 않음 (프린트 모드)
저장하지 않으므로 재개도 불가능하다. 어떤 모드에서든 같은 효과를 내는 환경변수는 CLAUDE_CODE_SKIP_PROMPT_HISTORY 다.
되돌리기·검토·백그라운드처럼 상태를 크게 바꾸는 명령들. /rewind 는 커밋하지 않은 변경도 되돌림.
/rewind [turn#]
코드+대화 체크포인트 롤백
대화만·코드만·둘 다를 고를 수 있다. git 아래층이 아니라 위층이다 — 커밋하지 않은 변경과 대화를 함께 맞춰 되돌린다.
/agents
서브에이전트 관리
v2.1.198 부터는 관리 화면이 아니라 안내만 출력한다 — .claude/agents/ 를 직접 편집하거나 Claude 에게 만들라고 한다. 세션 단위로만 필요하면 --agents 로 JSON 을 넘길 수도 있다.
/sandbox
격리 환경에서 실행
지원 플랫폼에서만 보인다. 권한 확인이 잦다고 우회로 가는 대신 격리로 위험을 낮추는 쪽이다.
/permissions
도구 권한 규칙 관리
응답 중에 실행해도 즉시 열리고, 바꾼 규칙은 같은 턴의 다음 도구 호출부터 적용된다. 데스크톱 앱에는 이 대화형 화면이 없다.
/plan
계획 모드 진입
Shift+Tab 순환으로도 들어간다. 설명을 붙이면 그 작업으로 계획을 시작한다.
/code-review, /review
현재 diff·PR 검토
강도(low~max·ultra)와 대상(PR 번호·브랜치·경로)을 인자로 받고, --fix 는 고침까지 적용한다. /review 는 별칭이다.
/security-review
diff 보안 취약점 검사
커밋 안 된 변경이 아니라 브랜치와 origin 기본 브랜치의 차이를 본다 — origin 리모트가 없으면 실패한다.
/background, /bg
세션을 백그라운드로 분리
터미널을 돌려받고 진행은 claude agents 로 확인한다. 처음부터 백그라운드로 띄우려면 claude --bg "..." 다.
→ 오래 걸리는 작업을 걸어두고 다른 걸 하고 싶다 · /background [prompt], /bg · --bg, --background
/tasks
백그라운드 작업 목록
끝난 서브에이전트도 포함되므로 결과를 놓쳤을 때 여기서 찾는다. 응답 중에도 즉시 실행된다.
/fork
대화를 새 백그라운드 세션으로 복사
복사본이 돌고 나는 여기 남는다. 에이전트 뷰를 끈 환경이나 v2.1.212 미만에서는 포크된 서브에이전트로 동작한다 — 별도 세션이 아니라 이 대화에 결과가 붙는다.
/loop
프롬프트 반복 실행
간격을 생략하면 Claude 가 스스로 정하고, 프롬프트까지 생략하면 자율 점검이나 .claude/loop.md 를 돌린다. --continue 는 첫 프롬프트가 /loop 인 세션을 건너뛴다.
/goal
완료 조건 설정 후 자동 진행
조건이 충족될 때까지 턴을 넘어 계속 간다. clear·stop·off·reset·none·cancel 중 무엇으로든 해제한다.
/recap
세션 한 줄 요약
자리를 비웠다 돌아오면 자동으로 뜨는 그 요약을 필요할 때 직접 부르는 것이다. /compact 와 달리 대화를 건드리지 않는다.
/insights
세션 사용 패턴 분석
이 기기의 최근 세션을 분석한 HTML 보고서를 만든다 — 클라우드 세션에서는 쓸 수 없다.
작업 난이도에 맞춰 비용을 조절하는 축. 단순 반복에 최고 강도 불필요.
--model sonnet/opus/haiku/fable
별칭 전체: default, best, fable, sonnet, opus, haiku, sonnet[1m], opus[1m], opusplan
default 는 오버라이드 해제(계정 기본으로 복귀), best 는 조직에 Fable 5 가 있으면 Fable, 없으면 최신 Opus. [1m] 접미사는 100만 토큰 컨텍스트 창, opusplan 은 plan 모드에서 opus·실행에서 sonnet 을 쓰는 혼합 모드다.
--model claude-sonnet-5
특정 모델 버전 지정
별칭 대신 전체 이름을 박으면 모델이 갱신돼도 그 버전에 고정된다 — 재현이 중요한 스크립트·평가에서 쓴다. 대신 은퇴하면 실패하므로 --fallback-model 을 같이 걸어 둔다.
--effort <level>
low, medium, high, xhigh, max — 기본 high, max 는 세션 한정
모델이 지원 안 하는 레벨을 주면 그 아래 최고 지원 레벨로 폴백한다. low~xhigh 는 대화형 세션에서 설정하면 세션 간 유지되고, max 는 CLAUDE_CODE_EFFORT_LEVEL 환경변수로 주지 않는 한 현재 세션에만 적용된다. (ultracode 는 effort 레벨이 아니라 워크플로 오케스트레이션 키워드다 — 2026-08-20 정정)
--advisor opus
어드바이저 모델 활성화
중요한 지점에서 두 번째 모델에게 조언을 구하는 도구를 이 세션에서 켠다. advisorModel 설정보다 우선한다. 별도 모델 호출이라 그만큼 비용이 늘어난다.
/model, /effort
세션 내 변경
/model 은 새 세션의 기본값으로도 저장된다 — 이번 세션만 바꾸려면 선택기에서 그 줄에 s 를 누른다. Alt+P(모델)로 프롬프트를 비우지 않고 바꿀 수도 있다.
실행한 디렉터리가 기본 작업 범위. 코드가 여러 곳에 흩어져 있으면 탐색 시작 전에 추가 필요.
--add-dir ../apps ../lib
추가 작업 디렉토리 등록
공백으로 여러 경로를 한 번에 준다. 파일 접근만 늘어난다 — 그 디렉터리의 .claude/ 설정 (스킬·훅·권한 규칙)은 대부분 읽지 않으므로, 설정까지 필요하면 그 폴더에서 세션을 시작해야 한다.
--add-dir /path/to/project
디렉토리 경로 유효성 확인
각 경로가 실제로 존재하는 디렉터리인지 검사한다 — 오타는 시작 시점에 걸러진다. 세션 중간에 추가하려면 /add-dir 이고, 성공하면 DirectoryAdded 훅이 돈다.
--add-dir ../fe ../be ../shared
여러 디렉토리 동시 접근
세션마다 다시 적지 않으려면 설정의 permissions.additionalDirectories 에 올린다. /add-dir 로 이 디렉터리를 추가했던 세션은 나중에 --resume·--continue 목록에도 잡힌다.
사람이 읽는 출력 대신 기계가 파싱할 출력을 받는 축. 자동화의 출발점.
--output-format json
JSON 출력 (스크립팅용)
사람이 읽는 출력 대신 파싱 가능한 출력을 받는다. 자동화의 출발점이고, jq 로 바로 필드를 꺼낼 수 있다. 세션 ID 를 여기서 뽑아 다음 호출로 이어 붙이는 패턴이 흔하다.
→ CI나 스크립트에서 사람 없이 돌리고 싶다 · SID=$(claude -p "start" --output-format json \
--output-format stream-json
실시간 처리용 스트림
한 번에 다 받지 않고 오는 대로 처리한다. 오래 걸리는 작업의 진행을 보여줘야 하거나, 출력이 커서 메모리에 다 올리기 곤란할 때 쓴다.
--input-format stream-json
프린트 모드 입력 형식
표준입력으로 메시지를 흘려 넣는다. 작업 중에 보낸 메시지는 큐에 남아 자기 턴으로 실행되고, 그 턴은 자기 --max-turns 한도를 따로 갖는다. 보낸 것을 확인받으려면 --replay-user-messages 로 되돌려 받는다.
--json-schema '<schema>'
스키마 검증된 JSON 출력
스키마를 주면 모델이 그 형태를 지키도록 강제되고, 어긋나면 재시도한다. --output-format json 만으로는 필드 이름이 흔들릴 수 있어서 파싱 코드가 깨진다. 결과를 프로그램이 소비할 거면 이쪽이 맞다.
배치/1회성 처리
한도에 닿으면 오류로 종료하므로 잘린 결과가 성공처럼 흐르지 않는다. 돈으로도 막으려면 --max-budget-usd 를 같이 건다(서브에이전트 지출까지 합산된다).
자주 만지는 키만 추렸다. 키보다 먼저 알아야 할 것은 파일 4층 구조와 우선순위다.
우선순위: managed → CLI 인자 → .claude/settings.local.json → .claude/settings.json → ~/.claude/settings.json
local 은 개인용(.gitignore 대상), project 는 팀 공유(커밋), user 는 내 전역. 같은 키가 겹치면 위 순서에서 앞선 층이 이긴다.
파일 첫 줄에 "$schema": "https://json.schemastore.org/claude-code-settings.json" 을 넣으면 에디터가 키 이름을 자동완성·검증해준다.
수명주기 훅도 이 파일의 hooks 키에 정의한다 — 상세는 「Hooks & 플러그인」 섹션.
permissions.defaultMode
세션 시작 권한 모드 (default/acceptEdits/plan/auto/dontAsk)
--permission-mode 플래그가 이 값을 세션 단위로 덮어쓴다. bypassPermissions 는 여기 적어도 조직 정책(permissions.disableBypassPermissionsMode)이 막으면 뜨지 않는다. 데스크톱 앱은 선택기에서 고른 모드를 폴더별로 기억하고 그 폴더에서는 이 값보다 우선한다.
"auto" 값은 프로젝트·local 설정 파일에서는 무시된다 — auto 시작은 내장 기본값이나 user 설정으로만. 우선 규칙은 --permission-mode 플래그가 항상 이긴다.
permissions.allow / deny / ask
도구별 사전 승인·차단·확인 규칙
deny 는 모든 모드에서 막힌다 — bypassPermissions 에서도. allow 는 bypass 에선 무의미. 승인 창이 잦으면 /fewer-permission-prompts 가 이 규칙을 대신 만들어준다.
{ "permissions": { "allow": ["Bash(npm run lint)"], "deny": ["Read(./.env)"] } }
env
세션에 주입할 환경변수 묶음
자주 쓰는 값 — ANTHROPIC_DEFAULT_OPUS_MODEL/ANTHROPIC_DEFAULT_SONNET_MODEL (모델 별칭이 가리킬 버전 고정), CLAUDE_CODE_EFFORT_LEVEL(max 를 세션 넘어 유지), MAX_THINKING_TOKENS, CLAUDE_CODE_DISABLE_AUTO_MEMORY=1.
model / availableModels
기본 모델 지정 · 선택 가능한 모델 제한
model 은 시작 모델, availableModels 는 고를 수 있는 목록 자체를 제한한다(조직용). --model 플래그와 /model 이 그 위에서 세션 값을 정하고, 허용 목록에서 빠진 값은 무시되어 현재 모델이 유지된다.
sandbox.enabled
Bash 샌드박스를 설정으로 상시 켜기
/sandbox 로 세션마다 켜는 대신 파일에 고정한다. 나가는 네트워크는 sandbox.network.allowedDomains 로 좁힌다.
autoCompactEnabled / autoCompactWindow
자동 컴팩트 토글 · 발동 기준 컨텍스트 크기(100k~1M)
설정을 건드리지 않고 이번 세션만 바꾸려면 /autocompact 나 --autocompact 다. 자동 요약이 정보를 잃는 것이 문제라면 창을 넓히기보다 중요한 수치를 파일로 남기는 편이 낫다.
outputStyle
응답 스타일 지정 (/clear 후에도 유지)
Claude 의 역할·어조·출력 형식을 바꾼다. 공식 마켓의 explanatory-output-style· learning-output-style 이 플러그인으로 배포되는 예다.
autoMemoryEnabled / autoMemoryDirectory
자동 메모리 토글 · 저장 위치 변경
세션 안에서는 /memory 로 켜고 끄고 적립된 항목을 본다. 코드베이스에서 알 수 있는 사실이 쌓이면 매 세션 컨텍스트 비용만 늘고 낡는다 — 비자명한 결정과 제약만 남기는 편이 낫다.
claudeMdExcludes
모노리포에서 남의 CLAUDE.md 를 글롭으로 제외
메모리를 읽을 때 특정 CLAUDE.md 를 건너뛴다. 패키지가 많은 저장소에서 관계없는 지침이 전부 딸려 오는 것을 막는 용도다 — 반대로 그 패키지에서 일할 때만 붙게 하려면 중첩 .claude/skills/ 나 스킬의 paths 를 쓴다.
cleanupPeriodDays
대화 기록 보존 기간 (기본 30일)
자동 메모리 디렉터리는 이 청소에서 제외된다 — 기록은 사라져도 메모리는 남는다.
enabledPlugins / extraKnownMarketplaces
프로젝트에 플러그인·마켓플레이스를 고정해 팀과 공유
스코프별로 개별 플러그인을 켜고 끈다. 클라우드 세션에서 플러그인을 쓰는 경로가 이것이다 — 저장소의 .claude/settings.json 에 적어 두면 세션 시작 때 설치된다 (데스크톱에서 설치한 플러그인은 클라우드 세션에 따라가지 않는다).
statusLine
터미널 하단 상태줄을 명령 출력으로 커스텀
내 명령의 출력을 프롬프트 아래에 렌더한다. 직접 JSON 을 쓰는 대신 /statusline 에게 원하는 것을 말하거나, 인자 없이 실행해 현재 셸 프롬프트에서 자동 구성하게 할 수 있다.
attribution
커밋·PR 에 붙는 서명 문구 변경
attribution.commit·attribution.pr·attribution.sessionUrl 로 나눠 끄거나 바꿀 수 있다 — 커밋 트레일러는 남기고 PR 본문의 문구만 없애는 식의 조정이 가능하다.
defaultShell
! 셸 모드의 셸 선택 (bash / powershell)
! 로 직접 돌리는 명령의 셸을 정한다. 스킬 단위로 바꾸려면 스킬 프런트매터의 shell: powershell 이 있다 — Windows 에서 두 셸이 섞여 스크립트가 깨지는 일을 줄인다.
무한 반복으로 새어나가는 비용을 구조적으로 막는 장치들. 일회성 작업에는 상한 설정이 안전.
-p --max-turns 3
프린트 모드 턴 수 제한
한도에 닿으면 오류로 종료한다 — 잘린 결과가 성공처럼 다음 단계로 흐르지 않는다. 기본값은 무제한이므로 일회성 실행에는 걸어 두는 편이 안전하다.
--max-budget-usd 5.00
지출 상한 설정
프린트 모드 전용. 서브에이전트의 지출도 합산된다 — 상한에 닿으면 새 서브에이전트 생성이 Budget limit reached 로 실패하고 돌던 백그라운드 서브에이전트도 중단된다(v2.1.217+).
--verbose
상세 로그 출력
비용이 어디서 나가는지 볼 때 쓴다. 턴 단위 출력을 전부 보여주고 viewMode 설정을 덮어쓴다.
/usage, /cost
토큰 사용량·비용 표시
유료 플랜에서는 스킬·서브에이전트·플러그인·MCP 서버별 내역까지 쪼개 준다. 플랜 사용량은 터미널·데스크톱·웹이 공유하는 값이다. /stats 도 같은 것을 연다.
모드보다 강한 층. --disallowedTools 는 우회되지 않으므로 위험한 명령은 여기서 상시 차단.
--allowedTools "Bash(git log:*)" \
도구 허용·금지 규칙을 명령줄에서 지정한다
권한 모드보다 강한 층이다. 모드는 "무엇을 물어보는가"를 정하지만 이 규칙은 무엇이 아예 불가능한가를 정한다.
--disallowedTools 가 특히 값을 한다. allow 목록은 승인 카드를 누르다 보면 실수로 넓어질 수 있지만 disallow 는 우회되지 않으므로, 되돌릴 수 없는 명령은 여기서 상시 차단한다.
--allowedTools "Bash(git log:*)" \
"Bash(git diff:*)" "Write"
--disallowedTools "Bash(rm:*)" "Bash(sudo:*)"
--permission-prompt-tool mcp_auth_tool
--dangerously-skip-permissions # 위험, 지양
--dangerously-skip-permissions 는 마지막 수단이다. 승인 창이 잦은 게 문제라면 allow 규칙을 쌓거나 샌드박스를 켜는 쪽이 맞다. 쓰기 전에 되돌릴 수 있는 상태인지 — 커밋했는지, 브랜치를 팠는지 — 먼저 볼 것.
→ 승인 창이 너무 자주 떠서 흐름이 끊긴다 · → 건드리면 안 되는 걸 건드릴까 봐 불안하다 · bypassPermissions · /sandbox
외부 서비스와 내 도구를 붙이는 표준 통로. 직접 만들기 전에 커넥터·플러그인부터 찾는 편이 빠름.
claude mcp
MCP 서버 설정
MCP 서버를 등록·확인·제거한다. --mcp-config 로 설정 파일이나 인라인 JSON 을 넘기면 프로젝트마다 다른 서버 구성을 쓸 수 있다.
직접 만들기 전에 순서를 지키면 헛수고를 줄인다 — 이미 있는 커넥터 → 마켓플레이스 플러그인 → 그래도 없으면 직접 MCP 서버.
MCP 서버가 돌려주는 내용은 데이터지 지시가 아니다. 외부 도구가 반환한 텍스트에 "이렇게 해라"가 섞여 있어도 그건 실행 근거가 아니다. 쓰기 권한이 있는 커넥터를 붙일 때는 샌드박스의 network.allowedDomains 로 나가는 곳을 제한하는 편이 안전하다.
→ 외부 서비스나 내 도구를 붙이고 싶다 · /sandbox · --mcp-config / --plugin-dir
claude mcp login/logout <s>
MCP OAuth 로그인/해제
대화형 /mcp 패널을 열지 않고 OAuth 흐름만 돌린다(v2.1.186+). HTTP·SSE·claude.ai 커넥터 서버에서 되고, SSH 로 붙어 있으면 --no-browser 로 인증 URL 을 출력받아 리다이렉트 URL 을 되붙인다.
/mcp
MCP 기능 접근
세션 안에서 연결 상태를 본다. 서버가 목록에 뜨고 도구 목록이 보여야 정상이다. 안 보이면 인증이 안 됐거나 서버 프로세스가 죽은 것이다.
예시
MCP 서버를 붙이기 전에 확인할 것 — 파이프만으로 되는 일이면 서버가 필요 없다. git·docker·DB 출력은 표준입력으로 그대로 넘어간다.
git log --oneline | claude -p "요약해줘"
cat error.log | claude -p "원인 찾아줘"
반복하는 지시를 파일 한 장으로 고정. 커스텀 명령은 스킬로 통합, 문법 동일.
.claude/commands/*.md
.claude/commands/*.md에 정의, frontmatter(name/description/aliases), 본문에 $ARGUMENTS 사용
파일 한 장이면 /명령 하나가 생긴다. 프로젝트 전용이면 .claude/commands/, 어디서나 쓰려면 ~/.claude/commands/.
커스텀 명령은 스킬로 통합됐다. .claude/commands/deploy.md 와 .claude/skills/deploy/SKILL.md 는 둘 다 /deploy 를 만들고 동작이 같다. 전자는 파일명이, 후자는 디렉터리명이 호출 이름이 된다. frontmatter 의 name 이 호출 이름이 되는 건 플러그인 스킬뿐이다.
인자 치환은 $ARGUMENTS(전체), $1·$2(위치 인자), 그리고 frontmatter 에 arguments: [issue, branch] 를 선언하면 $issue·$branch 로 이름을 붙여 쓴다. 리터럴 달러 기호는 백슬래시로 이스케이프한다.
Claude Code 는 frontmatter 키 20개를 받지만 claude.ai 업로드·Skills API 경로는 name, description, license, compatibility, metadata, allowed-tools 6개만 받고 그 외 키가 있으면 무시가 아니라 실패한다. 밖으로 내보낼 파일이면 6개로 제한할 것.
→ 같은 지시를 매번 치기 싫다 · 예: .claude/commands/deploy.md → /deploy 로 호출
/debug # .claude/commands/debug.md
파일명이 그대로 명령 이름이 된다
스킬로 만들 때는 디렉터리명이 호출 이름이 된다(.claude/skills/deploy/SKILL.md → /deploy). 한 메시지 앞머리에 여러 개를 쌓을 수도 있다 — /write-tests /fix-issue 123 은 둘을 불러오고 뒤에 남은 123 을 각자의 $ARGUMENTS 로 넘긴다(첫 스킬 + 최대 5개).
/debug # .claude/commands/debug.md
/test # .claude/commands/test.md
/deploy # .claude/commands/deploy.md
→ 같은 지시를 매번 치기 싫다 · 예: .claude/commands/deploy.md → /deploy 로 호출
대화형이 아니라 한 번 돌고 끝나는 실행. 권한 모드·출력 형식·상한 셋을 반드시 함께 설정.
claude -p "analyze codebase" \
예시
프린트 모드는 한 번 돌고 끝난다. 셋을 같이 걸어야 안전하다 — 권한 모드(--permission-mode), 출력 형식(--output-format), 상한(--max-turns· --max-budget-usd). 상한에 닿으면 오류로 종료하므로 잘린 결과가 조용히 다음 단계로 흐르지 않는다.
시작을 빠르게 하려면 --bare 로 훅·스킬·MCP 자동 탐색을 건너뛴다. 이렇게 만든 -p 세션은 나중에 --continue 로 잡히지 않는다(claude -p --continue 는 포함한다).
#!/bin/bash
claude -p "analyze codebase" \
--output-format json > analysis.json
claude -p "generate tests" --max-turns 3 \
--output-format text > tests.txt
세션 ID 를 잡아 여러 단계를 이어 붙이거나, 파이프로 단계를 연결하는 패턴.
SID=$(claude -p "start" --output-format json \
예시
--output-format json 의 session_id 를 잡아 두면 claude -r "$SID" 로 같은 대화를 이어 여러 단계를 붙일 수 있다. ID 를 내가 정하려면 --session-id <UUID> 를 쓴다.
파이프로 잇는 것과 세션을 잇는 것은 다르다 — 파이프의 각 단계는 앞 단계의 출력만 받는 새 대화다. 앞의 탐색 결과나 파일 내용을 알고 있어야 하는 작업이면 세션을 이어야 한다.
SID=$(claude -p "start" --output-format json \
| jq -r '.session_id')
claude -r "$SID" "continue analysis"
claude -p "구조 분석" | claude -p "개선안 제안" \
| claude -p "구현 계획 작성"
관점을 하나로 고정해 따로 돌리는 편이 한 번에 다 시키는 것보다 깊이 들어감.
예시
관점을 하나로 고정해 따로 돌리는 이유는, 한 번에 다 시키면 관점이 섞여 얕아지기 때문이다. 대신 같은 diff 를 여러 번 읽는 비용이 든다.
내장 명령으로도 같은 일을 한다 — /code-review 는 강도(low~max)와 대상(PR·브랜치·경로)을 받고 --fix 로 적용까지 하며, /security-review 는 브랜치와 origin 기본 브랜치의 차이를 본다(origin 이 없으면 실패한다).
git diff HEAD~1 | claude -p "보안 이슈 리뷰" > security.md
git diff HEAD~1 | claude -p "성능 이슈 확인" > perf.md
git diff HEAD~1 | claude -p "개선안 제안" > improve.md
CI 에서 돌릴 때는 결과를 파싱 가능한 형식으로, 실패는 조용히 지나가지 않게.
예시
CI 에서는 실패가 조용히 지나가지 않는 것이 핵심이다 — --max-turns 는 한도에 닿으면 오류로 종료하므로 잡을 수 있다. 결과 파싱은 --output-format json, 형식을 스키마로 고정하려면 --json-schema.
find ... -exec claude -p 는 파일 하나에 세션 하나다. 파일이 많으면 비용이 급히 늘어나므로 --max-budget-usd 를 같이 걸고, 시작 시간을 줄이려면 --bare 를 붙인다.
claude -p "커버리지 분석" --output-format json \
| jq '.coverage_percentage'
claude -p "커밋 기반 릴리스 노트 생성" \
--max-turns 2 > RELEASE_NOTES.md
find . -name "*.js" -exec claude -p "버그 분석: {}" \; \
> bug_report.txt
편집기와 붙이면 열려 있는 파일·선택 영역이 맥락으로 전달.
예시
--ide 는 유효한 IDE 가 정확히 하나일 때만 자동 연결한다 — 여러 개가 떠 있으면 붙지 않으니 /ide 로 상태를 보고 고른다. 붙으면 열려 있는 파일과 선택 영역이 맥락으로 넘어간다.
Chrome 연동은 내 로그인 세션을 그대로 쓰는 경로다 — 로그인이 필요한 화면을 다뤄야 할 때만 켠다.
/ide # IDE 연동 상태 표시/관리
claude --ide # 사용 가능한 IDE 자동 연결
claude --chrome # Chrome 브라우저 연동 켜기
claude --no-chrome # 이 세션만 Chrome 연동 끄기
표준 입력으로 무엇이든 전달 가능. git·docker·DB 출력이 그대로 입력.
예시
표준입력이 만능 어댑터다. 다만 넣은 만큼 컨텍스트를 먹는다 — git diff --name-only, git log -10 처럼 먼저 걸러서 넘기는 편이 낫다.
로그·DB 출력에는 자격증명이나 개인정보가 섞여 있을 수 있다. 파이프로 넘기면 그대로 모델에 전달되므로, 무엇을 넘기는지 한 번 보고 넘긴다.
git log --oneline -10 | claude -p "체인지로그 작성"
git diff --name-only | claude -p "변경사항 설명"
mysql -e "SHOW TABLES" | claude -p "DB 구조 분석"
docker logs c | claude -p "로그에서 에러 찾기"
속도 저하의 원인은 대개 컨텍스트 과다, 또는 작업 전환 후 이전 대화 잔존.
예시
순서가 있다 — /context 로 무엇이 먹고 있는지 먼저 보고, 작업이 바뀐 것이면 /clear, 이어가야 하면 /compact, 그 다음 /effort·/model 로 강도를 내린다. 감으로 자르면 남겨야 할 것을 자른다.
--autocompact auto 는 모델에 맞춰진 기본 창으로 되돌리는 값이다. /doctor 는 쓰지 않는 스킬·MCP 서버·플러그인을 그 컨텍스트 비용과 함께 지목해 준다.
claude -p --max-turns 1 "빠른 분석" # 단일 턴
claude --autocompact auto # 자동 컨텍스트 압축
/usage # 세션 비용·한도 확인
/doctor # 설정 진단
이어가기로 컨텍스트 재사용, 과부하 시 폴백 모델로 전환.
예시
-c -p 는 직전 대화를 이어받아 컨텍스트를 재사용한다. & 로 병렬 실행하면 각각이 독립 세션이라 컨텍스트를 공유하지 않는다 — 서로의 결과가 필요하면 파이프나 세션 이어가기로 묶어야 한다.
--fallback-model 은 쉼표로 나열한 순서대로 시도한다. 참고로 모델을 오가며 바꾸면 프롬프트 캐시가 새로 쌓이므로, 긴 대화 중간의 잦은 전환은 캐시 이득을 버린다.
claude -c -p "이전 분석 이어가기" # 컨텍스트 재사용
claude -p "task1" & claude -p "task2" & wait # 병렬
claude --fallback-model sonnet,haiku "질의"
설정 파일 공유로 같은 기준 적용. CI·락다운 환경은 dontAsk 가 기본.
예시
--settings 는 준 키만 덮어쓴다 — 적지 않은 키는 각자의 파일 값을 그대로 쓰므로, 팀 공통 설정을 강제하려면 그 키를 전부 적어야 한다. 어느 층까지 읽을지는 --setting-sources user,project,local 로 정한다.
dontAsk(미리 승인한 도구만 허용)는 CLI 전용 모드다 — 데스크톱 앱에는 없다.
claude --settings team-config.json "표준 분석"
claude -r "team-session-id" "팀 논의 이어가기"
claude --permission-mode dontAsk # CI·락다운 환경
조직이 배포하는 managed-settings.json 이 최상단, 개인 설정으로 뒤집기 불가.
설정 우선순위: managed-settings.json > CLI 인자 > .claude/settings.local.json > .claude/settings.json > ~/.claude/settings.json
managed-settings.json 이 최상단이라 개인 설정으로 뒤집을 수 없다. 조직이 배포하는 정책이고, 그 아래로 CLI 인자 → 프로젝트 local → 프로젝트 → 사용자 순이다.
개인 프로젝트에서 이 순서가 중요한 이유는 따로 있다 — .claude/settings.local.json 이 .claude/settings.json 을 덮으므로, 팀과 공유할 규칙은 local 이 아닌 쪽에 둬야 한다.
auto 모드는 프로덕션 배포·강제 푸시·시크릿 유출 등을 기본 차단
기본 규칙은 claude auto-mode defaults 로 JSON 으로 볼 수 있고(--label 'Git Destructive' 처럼 접두어로 걸러서), 내 설정이 적용된 실효 구성은 claude auto-mode config 다. 조직은 관리 설정의 autoMode 로 무엇을 신뢰·차단할지 조정하고 disableAutoMode 로 끈다.
되돌리려면 claude auto-mode reset(사용자 설정의 autoMode 섹션 제거, 확인 후 실행).
sandbox.network.allowedDomains
sandbox.network.allowedDomains 로 아웃바운드 도메인 제한
나가는 트래픽을 도메인 화이트리스트로 막는다. MCP 커넥터나 스크립트가 예상 밖의 곳으로 데이터를 보내는 경로를 차단하는 가장 직접적인 수단이다.
권한 확대 전에 피해 범위 축소를 먼저 검토.
비용 문제만이 아니다 — 이전 작업의 파일 내용이 남아 있으면 다음 작업에서 엉뚱한 파일을 고칠 위험이 같이 생긴다. 이어가야 하는 대화라면 /clear 가 아니라 /compact 다.
프린트 모드 전용이고 한도에 닿으면 오류로 종료한다. 돈으로 막는 쪽은 --max-budget-usd 이고 서브에이전트 지출까지 합산된다 — 둘을 같이 거는 편이 안전하다.
압축은 정보를 잃는다. 방금 확인한 실측 수치나 파일 내용이 요약에 날아가면 그 다음 판단이 근거 없이 이뤄진다 — 중요한 숫자는 압축 전에 파일로 남긴다. 자동 압축 기준은 /autocompact 나 --autocompact 로 정한다.
확인이 잦은 것이 문제라면 순서가 있다 — ① /fewer-permission-prompts 로 실제로 쓴 읽기 전용 호출만 허용 목록에 올리고 ② 필요한 것만 --allowedTools 로 열고 ③ 격리가 필요하면 /sandbox 나 컨테이너를 쓴다.
그래도 우회가 필요하면 --allow-dangerously-skip-permissions 로 순환에만 넣어 두고 다른 모드로 시작하는 방법이 있다.
→ 승인 창이 너무 자주 떠서 흐름이 끊긴다 · --allow-dangerously-skip-permissions
범위를 준 규칙이 낫다 — Bash(rm *) 처럼 쓰면 Bash 는 남고 그 호출만 막힌다. 이름만 주면 도구가 컨텍스트에서 통째로 사라진다. 세션마다 다시 주지 않으려면 설정 파일의 deny 규칙으로 올린다.
/permissions 로 스코프별 규칙을 보고, 쓰지 않는 스킬·MCP 서버·플러그인은 /doctor 가 그 컨텍스트 비용과 함께 지목해 준다. 버전은 /doctor 가 릴리스 채널을 보고 알려준다.
내 커스터마이제이션(CLAUDE.md·스킬·플러그인·훅·MCP)이 원인인지 아닌지를 한 번의 실행으로 가른다. --safe-mode 로 되면 원인은 내 설정 쪽이고, 그래도 안 되면 설치·인증·네트워크 쪽이다. 속도를 위해 최소로 띄우는 --bare 와 목적이 다르다.
반복이 보이면 명령어로 고정, 자동화할 거면 출력 형식부터 결정.
지금은 스킬이 정본이다 — .claude/skills/<name>/SKILL.md. .claude/commands/*.md 도 계속 동작하지만 이름이 겹치면 스킬이 이긴다. 스킬은 디렉터리라 보조 파일을 담고 프런트매터로 도구·모델·강도까지 정할 수 있다.
형식이 스키마까지 필요하면 --json-schema 를 쓴다 — 스키마에 맞지 않으면 오류로 종료하므로 파이프 뒤쪽이 깨진 값을 받지 않는다. 진행을 흘려 받아야 하면 stream-json 이다.
cat file | claude -p "..." 처럼 표준입력을 넘긴다. 여러 사람·여러 기기가 같은 작업을 돌린다면 --exclude-dynamic-system-prompt-sections 로 프롬프트 캐시 재사용률을 올릴 수 있다.
--session-id 로 ID 를 직접 정하면 나중에 스크립트가 그 세션을 다시 찾을 수 있고, --name 은 사람이 /resume 목록에서 알아볼 이름을 붙인다. 오래 걸리는 것은 --bg 로 떼어내고 claude agents 로 확인한다.
문서 대신 실행되는 것으로 남기는 편이 낫다 — 반복 절차는 스킬로, 자동 검사는 훅으로, 묶어 배포할 것은 플러그인으로. 지침이 지켜지길 바라는 것과 하네스가 강제하는 것은 다르다.
같은 저장소에서 세션 여러 개를 돌리면 서로의 편집이 섞인다. -w 는 <repo>/.claude/worktrees/<name> 에 격리된 워크트리를 만들고, #123 이나 PR URL 을 주면 그 PR 에서 분기한다. 커밋할 때는 git commit -- <경로> 로 지금 의도한 파일만 넣는다.
무엇부터 익힐지 순서. 권한 모드와 컨텍스트 관리가 초반 체감 가장 큼.
기본 명령어부터 → /help 자주 활용 → 간단한 질의로 연습 → 작업 간 /clear
처음 붙는 사람에게 가장 빠른 것은 /powerup 이다 — 애니메이션 데모가 붙은 짧은 레슨으로 기능을 하나씩 눌러 본다. 그 다음은 /init 으로 CLAUDE.md 를 만들고 /clear 습관을 붙이는 것.
권한 모드·도구 권한 마스터 → JSON 출력 자동화 → MCP 연동 → 커스텀 명령어화
권한은 우회(--dangerously-skip-permissions)가 아니라 좁혀서 여는 것부터 익히는 게 맞다 — /fewer-permission-prompts 로 실제로 쓴 호출만 허용 목록에 올리는 흐름. 커스텀 명령은 이제 스킬이 정본(.claude/skills/<name>/SKILL.md)이다.
Hooks·플러그인·샌드박싱 활용 → 백그라운드/클라우드 세션 → 팀 협업·엔터프라이즈 정책 준수
"매번 X 하게" 같은 자동 동작은 지침이 아니라 훅이 담당한다(하네스가 실행한다). 병렬 작업은 --worktree 로 격리하고, 오래 걸리는 것은 --bg 로 떼어낸다. 팀에 배포할 것은 스킬 → 플러그인 순으로 올린다.
설치·인증 문제는 doctor 로 상태를 먼저 읽고, 그래도 안 되면 네이티브 재설치.
claude --version && claude auth status && claude doctor
예시
claude doctor 가 설치 버전·인증 상태·PATH·파일 권한·프로젝트 구성·훅/스킬 상태를 한 번에 점검한다. 추측 전에 이것부터 돌리는 편이 빠르고, 출력을 그대로 지원 요청에 붙일 수 있다.
설정이 원인인지 가르려면 --safe-mode 로 한 번 띄워 본다 — 그것으로 되면 내 커스터마이제이션 쪽이고, 그래도 안 되면 설치·인증·네트워크 쪽이다.
claude --version && claude auth status && claude doctor
claude install stable # 네이티브 재설치
npm uninstall -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code # npm 재설치
동작 이상 시 커스터마이제이션 배제로 범위를 반씩 줄이는 게 가장 빠름.
예시
"느려졌다"의 원인은 대개 컨텍스트가 찼거나, 작업이 바뀌었는데 이전 대화가 남아 있는 것이다 — /context 로 확인한 뒤 자른다.
MCP·시작 단계가 의심되면 --debug='mcp,startup' 으로 범주를 좁혀 본다(필터는 = 형태에서만 붙는다). 권한 때문에 막힌 것처럼 보이면 /permissions 로 실제 규칙을 확인한다.
/clear # 컨텍스트 비우기
claude -p --max-turns 3 "포커스 질의"
/compact "핵심만 유지"
/permissions # 권한 규칙 확인·관리
판정 근거가 되는 1차 출처. 이 사이트 내용과 어긋나면 이쪽이 맞음.
전체 문서의 출발점. 이 사이트와 어긋나면 이쪽이 맞다 — 문서 색인은 code.claude.com/docs/llms.txt 로 한 번에 받을 수 있다.
플래그 80여 개와 claude 하위 명령 전체가 예시와 함께 표로 있다. 이 사이트의 플래그 섹션은 자주 쓰는 것을 골라 옮긴 것이므로, 없는 플래그는 여기서 찾는다.
삭제된 명령도 "Removed in vX" 로 남아 있다 — 옛 자료에서 본 명령이 안 먹으면 여기서 확인한다.
어떤 모드도 자동 승인하지 않는 행위 목록이 여기 있다 — bypassPermissions 가 "전부 생략"이 아니라는 근거가 그 목록이다.
Hooks: code.claude.com/docs/en/hooks
이벤트 종류와 입출력 규약. "매번 X 하게 해 줘"를 지침이 아니라 구조로 만드는 자리다.
settings.json 의 키 하나하나가 여기 있다. 이 사이트의 설정 키 섹션은 자주 쓰는 15종만 골랐다.
키보드 단축키의 정본. 터미널·플랫폼별로 동작이 갈리는 키가 여기 정리돼 있다.
GitHub: github.com/anthropics/claude-code
버그 신고와 이슈 검색. 신고 전에 독립 claude CLI 에서도 재현되는지 확인하고, 로그를 붙일 때는 경로·환경 정보가 섞여 있는지 먼저 읽어 볼 것.
세션 안에서 치는 명령과 플러그인 생태계. · 섹션 21개 · 항목 177개
대화 자체를 다루는 명령들. 작업이 바뀌면 이어가지 말고 자르는 편이 나음.
/clear [name]
새 대화 시작
컨텍스트를 비우고 새 대화를 연다. 이름을 붙여 두면 /resume 목록에서 방금 자른 대화가 무엇이었는지 알아볼 수 있다 — 이름 없이 자르면 나중에 목록에서 구분이 안 된다.
같은 대화를 이어가면서 자리만 확보하려면 /clear 가 아니라 /compact 다. 잘라 놓고 후회했으면 /resume 으로 돌아가거나, 같은 프로세스 안이라면 /rewind 메뉴의 '이전 세션' 항목으로 복원한다.
→ 토큰이 빨리 닳고 대화가 무거워진다 · → 건드리면 안 되는 걸 건드릴까 봐 불안하다 · /compact [지시] · /resume
대화 요약
지금까지의 대화를 요약해 컨텍스트를 비운다. 뒤에 지시를 붙이면 무엇을 남길지 지정할 수 있다(/compact 실측 수치와 결정만 남겨). 규칙·스킬·메모리 파일이 압축 후에 어떻게 남는지는 공식 문서의 context-window 문서에 정리돼 있다.
요약은 정보를 잃는다. 방금 확인한 파일 내용이나 실측 수치가 날아가면 다음 판단이 근거 없이 이뤄진다 — 중요한 수치는 압축 전에 파일로 남길 것.
/context [all]
컨텍스트 사용량 표시
무엇이 컨텍스트를 먹고 있는지 색 격자로 보여준다. 컨텍스트를 많이 쓰는 도구, 비대해진 메모리 파일, 한계 임박 경고까지 함께 뜬다. 감으로 자르지 말고 여기서 원인을 본 다음 /clear 냐 /compact 냐를 정하는 순서가 맞다.
한계를 넘긴 상태면 얼마나 초과했는지와 어느 명령이 자리를 비우는지도 출력에 붙는다. 전체화면 모드에서는 격자를 살리려고 항목별 내역을 접는데, all 을 주면 펼친다.
/resume
다른 대화로 전환
ID·이름으로 대화를 재개하거나, 인자 없이 실행해 세션 선택기를 연다. 백그라운드 세션은 목록에 bg 로 표시되고, 아직 돌고 있는 것은 여기서 재개할 수 없다 — claude agents 에서 붙거나 거기서 먼저 세우고 와야 한다.
/rename [name]
세션 이름 변경
현재 세션 이름을 바꾸고 프롬프트 바에 띄운다. 이름을 생략하면 대화 이력에서 자동 생성한다. -p 비대화 모드에서도 쓸 수 있다(v2.1.205+).
제어문자·보이지 않는 문자는 공백으로 치환되고 200자에서 잘린다. 그 처리 후 빈 이름이 되면 거부된다. 같은 기기의 다른 세션이 이미 쓰는 이름이면 변형된 이름이 붙는다.
/branch [name]
대화 분기
지금 지점에서 대화를 분기해 분기 쪽으로 들어간다. 원본은 그대로 남고 /resume 으로 돌아올 수 있다. 다른 접근을 시험해 보고 싶은데 지금까지의 대화를 잃고 싶지 않을 때 쓴다.
셋의 차이: 들어가는 것이 /branch, 복사본을 백그라운드로 띄우고 나는 여기 남는 것이 /fork, 곁가지를 서브에이전트에 맡겨 결과만 이 대화로 받는 것이 /subtask 다.
/fork [prompt]
새 백그라운드 세션으로 복사
현재 대화를 백그라운드 세션으로 복사하고 나는 여기서 계속 작업한다. 프롬프트를 주면 복사본이 바로 그 일을 시작하고, 없으면 에이전트 뷰에서 첫 지시를 기다린다.
제자리 편집을 하는 경우를 빼면 복사본은 코드 변경 전에 자기 워크트리를 만들도록 지시받는다 (v2.1.221+). v2.1.212 미만이거나 에이전트 뷰를 끈 환경에서는 /fork 가 대신 포크된 서브에이전트로 동작한다.
/export [filename]
대화 내보내기
현재 대화를 평문으로 내보낸다. 파일명을 주면 그 파일로 바로 쓰고, 없으면 클립보드 복사와 파일 저장을 고르는 대화상자가 열린다. 리뷰 근거나 인수인계 기록을 남길 때 쓴다.
/diff
변경사항 대화형 뷰어
커밋 안 된 변경과 턴별 diff 를 대화형으로 본다. 좌우 화살표로 현재 git diff 와 개별 Claude 턴을 넘기고, 위아래로 파일을 훑고, Enter 로 해당 파일 diff 를 연다. Esc 로 파일 목록으로 돌아온다.
열린 뷰어는 다른 터미널에서 브랜치를 바꾸거나 커밋해도 자동으로 갱신된다(v2.1.198+).
diff 를 git blob 원본에서 계산하므로 .gitattributes 의 diff 드라이버·textconv 필터는 적용되지 않는다 — 뷰어가 보여주는 것은 저장소 원본이다.
/rewind [turn#]
코드+대화 체크포인트 롤백
대화만, 코드만, 또는 둘 다 이전 지점으로 되돌린다. 선택한 메시지 지점부터 요약하는 선택지도 같은 메뉴에 있다.
되돌리기 전에 무엇을 되돌리는지 확인할 것 — 코드까지 되돌리면 그 사이의 수동 편집도 함께 사라진다. 잘못 고친 것을 되돌릴 때는 git 이 아니라 이쪽이 대화까지 같이 맞춰 준다.
/btw [question]
대화에 안 남는 곁질문
현재 세션에 대해 대화 이력에 쌓지 않고 질문한다. "지금 무슨 작업 중이었지" 같은 확인을 본 대화의 컨텍스트를 늘리지 않고 물을 수 있다.
질문 없이 실행하면 가장 최근 곁질문을 보여줘 이전 답을 다시 훑을 수 있다(v2.1.212+).
모델·추론 강도를 세션 안에서 변경.
/model [model]
모델 변경
모델을 바꾸고 새 세션의 기본값으로도 저장한다. 이번 세션만 바꾸려면 선택기에서 해당 줄에 s 를 누른다 — 이 구분을 모르면 잠깐 내렸던 모델이 다음 세션까지 따라온다.
선택기에서 좌우 화살표로 추론 강도까지 같이 조정할 수 있다. 확인을 거치면 진행 중인 응답이 끝나기를 기다리지 않고 바로 적용된다. -p 비대화 모드에서는 인자로 지정하며, 그때는 세션에만 적용되고 기본값으로 저장되지 않는다(v2.1.205+).
모델을 바꾸면 프롬프트 캐시가 새로 쌓인다 — 긴 대화 중간에 오가며 바꾸면 캐시 이득을 계속 버리게 된다.
/effort [level|auto]
추론 강도 조정
low ~ xhigh, max, ultracode, auto 중에서 고른다. status 를 주면 현재 값을 출력한다. max 와 ultracode 는 세션 한정이고, ultracode 설정 키 자체는 남는다.
단순 반복 작업에 최고 강도를 쓸 이유가 없다. 비용이 빨리 닳으면 모델보다 먼저 이쪽을 내려 보는 편이 회복이 빠르다.
/advisor [model|off]
어드바이저 모델 켜기/끄기
작업 중 중요한 지점에서 두 번째 모델에게 조언을 구하는 도구를 켜거나 끈다. fable·opus·sonnet 또는 전체 모델 ID 를 받고, 인자 없이 실행하면 선택기가 열린다. fable 은 Fable 5 접근 권한이 필요하다.
조언 호출은 별도의 모델 호출이다 — 켜 둔 채로 긴 작업을 돌리면 그만큼 비용이 늘어난다.
/autocompact [auto|tokens]
자동 컴팩트 기준 설정
컨텍스트가 얼마나 차면 자동으로 압축할지를 정한다. 500k 처럼 크기를 주거나, auto 로 모델에 맞춰진 기본값으로 되돌린다. 값은 사용자 설정에 저장되고 현재 세션에도 바로 적용된다. 인자 없이 실행하면 현재 창을 보여주는 대화상자가 열린다(v2.1.221+).
/fast [on|off]
패스트 모드 토글
패스트 모드를 켜고 끈다(v2.1.205+). 작은 모델로 내려가는 것이 아니라 같은 Opus 를 더 빠른 출력으로 돌리는 것 — 품질을 낮춰 속도를 사는 옵션으로 오해하기 쉬운 지점이다. Opus 5 / 4.8 계열에서 쓸 수 있다.
-p 비대화 모드에서의 사용 가능 범위는 제한적이다.
실행 전에 계획을 받거나, 완료 조건을 걸고 맡기는 축.
/plan [description]
계획 모드 진입
프롬프트에서 바로 계획 모드로 들어간다. 설명을 붙이면 그 작업으로 계획을 시작한다 (/plan 인증 버그 고치기).
비자명한 변경은 여기서 시작하는 편이 싸다. 방향이 틀린 구현은 품질과 무관하게 전부 버려지므로, 편집을 막아 둔 상태에서 계획을 먼저 받고 합의한 뒤 실행으로 넘긴다.
/background [prompt], /bg
세션을 백그라운드로 분리
현재 세션을 백그라운드 에이전트로 떼어내고 터미널을 돌려받는다. 프롬프트를 붙이면 떼어내기 전에 지시를 하나 더 보낸다. 진행은 claude agents 로 확인한다.
이 세션을 그대로 두고 복사본만 백그라운드로 띄우려면 /fork 다.
/loop [interval] [prompt]
프롬프트 반복 실행
세션이 열려 있는 동안 프롬프트를 반복 실행하는 번들 스킬이다 (/loop 5m 배포 끝났는지 확인).
간격을 생략하면 Claude 가 스스로 간격을 정한다. 프롬프트까지 생략하면 자율 점검이나 .claude/loop.md 의 내용을 돌린다. 짧은 간격으로 폴링하면 매 회차가 비용이므로, 기다리는 대상이 실제로 얼마나 빨리 바뀌는지에 간격을 맞추는 편이 낫다.
/goal [condition|clear]
완료 조건 설정 후 자동 진행
조건을 걸면 그 조건이 충족될 때까지 턴을 넘어 계속 작업한다. 인자 없이 실행하면 현재 목표나 마지막으로 달성한 목표를 보여준다. clear·stop·off·reset·none·cancel 중 아무 것이나 주면 활성 목표를 먼저 해제한다.
조건이 검증 가능해야 한다 — "잘 되면"처럼 판정할 수 없는 조건을 걸면 멈출 근거가 없어 계속 돈다.
/subtask <prompt>
서브에이전트에 하위작업 할당
전체 대화를 물려받은 백그라운드 서브에이전트를 띄우고, 나는 계속 작업한다. 끝나면 결과가 이 대화로 돌아온다(v2.1.212+).
실질 이점은 전문성이 아니라 컨텍스트 격리다 — 파일 50개를 훑어야 하는 조사를 본 대화에 쌓지 않고 결론만 받는다. 복사본을 별도 세션으로 띄우려면 /fork 다.
→ 토큰이 빨리 닳고 대화가 무거워진다 · → 작업이 커서 하나의 대화로는 안 될 것 같다 · /fork [prompt]
/batch <instruction>
병렬 대규모 변경 조직화
코드베이스 전반의 대규모 변경을 병렬로 조직하는 번들 스킬이다 (/batch src/ 를 Solid 에서 React 로 옮겨).
코드베이스를 조사해 독립 단위 5~30개로 쪼개고 계획을 먼저 제시한다. 승인하면 단위마다 백그라운드 서브에이전트를 격리된 git 워크트리에 띄우고, 각자 구현·테스트·PR 까지 낸다. git 저장소가 아니면 쓸 수 없다.
PR 이 단위 수만큼 열린다 — 리뷰 부담을 감당할 수 있는 크기로 쪼개졌는지 계획 단계에서 확인할 것.
/tasks
세션의 백그라운드 작업 목록
이 세션의 백그라운드 작업을 보고 관리한다 — 끝난 서브에이전트도 포함되므로 결과를 놓쳤을 때 여기서 찾는다. 응답 중에도 즉시 실행되는 명령 중 하나다.
/workflows
워크플로 진행 화면
돌고 있는 워크플로의 진행 화면을 연다. 지켜보기·일시정지·재개, 그리고 완료된 워크플로 저장까지 여기서 한다. 서브에이전트를 여러 개 부채꼴로 펼치는 작업의 실제 진행을 확인할 수 있는 유일한 창구다.
/schedule [description]
클라우드 예약 실행(루틴)
클라우드에서 도는 루틴을 만들고 고치고 목록으로 보고 즉시 실행한다. 설정은 대화로 진행되고, 루틴의 최근 실행 결과도 물어볼 수 있다.
/loop 는 세션이 열려 있는 동안만 도는 반복이고, 이쪽은 세션을 닫아도 남는 예약이다. GitHub 연결이 안 돼 있으면 /web-setup 을 먼저 물어본다.
변경을 검토받는 명령들. 관점을 나눠 여러 번 돌리는 편이 더 깊이 들어감.
/code-review [level] [--fix]
diff·PR 검토 (별칭 /review)
현재 diff 또는 넘긴 PR 번호·브랜치·경로를 정확성 버그와 정리 기회 관점으로 검토한다. 강도는 low·medium·high·xhigh·max·ultra 이고, 낮으면 확신 높은 소수만, 높이면 넓게 보되 불확실한 지적도 섞인다.
--fix 는 찾은 것을 작업 트리에 적용하고, --comment 는 GitHub PR 인라인 코멘트로 올린다. ultra 는 클라우드에서 도는 심층 다중 에이전트 리뷰다.
지적을 그대로 채택하지 말 것 — 리뷰도 오탐을 낸다. 기각한 항목은 사유와 함께 남겨야 다음 리뷰가 같은 것을 또 들고 온다.
/security-review
diff 보안 취약점 검사
현재 브랜치와 origin 기본 브랜치의 차이를 보안 관점으로 본다 — 인젝션, 인증 문제, 데이터 노출 같은 위험을 찾는다. 커밋 안 된 변경만 보는 것이 아니라 브랜치 전체가 대상이다.
origin 리모트가 필요하다. ambiguous argument 오류로 실패하면 origin/HEAD 를 찾지 못한 경우다.
/simplify
코드 단순화 제안
바뀐 코드를 재사용·단순화·효율·추상화 높이 네 관점의 에이전트가 병렬로 검토하고 고침까지 적용한다. 경로나 PR 참조를 주면 그 대상만 본다.
v2.1.154 부터 정확성 버그는 찾지 않는다 — 버그는 /code-review 쪽이다. 그 이전 버전에서는 /code-review --fix 와 같은 동작이었다.
/verify
코드 검증(스킬)
테스트나 타입체크에 기대지 않고 프로젝트의 앱을 실제로 빌드·실행해 결과를 관찰하는 번들 스킬이다. 초록불이 대상을 보고 있지 않을 때를 잡는 쪽이 이 명령의 목적이다.
내가 부르지 않으면 실행되지 않는다(v2.1.215 이후). 자동으로 돌아 줄 것을 기대하지 말 것.
/autofix-pr [prompt]
CI 실패 자동 수정 감시
현재 브랜치의 PR 을 지켜보다가 CI 가 깨지거나 리뷰 코멘트가 달리면 수정을 밀어 넣는 웹 세션을 띄운다. 기본값은 모든 CI 실패와 리뷰 코멘트를 고치는 것이고, 프롬프트를 주면 범위를 좁힐 수 있다(/autofix-pr 린트와 타입 오류만 고쳐).
gh pr view 로 체크아웃된 브랜치의 PR 을 찾으므로, 다른 PR 을 맡기려면 그 브랜치로 먼저 옮겨야 한다. gh CLI 와 웹 접근 권한이 필요하다.
/run
앱을 띄워 변경을 눈으로 확인
프로젝트의 앱을 실제로 띄우고 조작해 변경이 동작하는 것을 눈으로 본다. 테스트 통과가 아니라 실행 결과가 근거가 된다. 프로젝트에 실행 방법을 담은 스킬이 있으면 그것을 먼저 찾고, 없으면 프로젝트 종류별 기본 패턴(CLI·서버·TUI·브라우저)으로 띄운다.
/ultrareview [PR|branch]
클라우드 다중 에이전트 심층 리뷰
클라우드 샌드박스에서 도는 깊은 다중 에이전트 리뷰다. PR 참조를 주면 그 PR 을, 브랜치 이름을 주면 비교 기준을 바꾼다.
권장 호출은 이제 /code-review ultra 이고 이 이름은 별칭으로 남아 있다. Pro·Max 는 3회 무료, 이후는 사용 크레딧이 필요하다.
/dataviz [request]
데이터 시각화 가이드
차트·그래프·대시보드 디자인 가이드를 주는 번들 스킬이다. 데이터에 맞는 차트 형태를 고르고, 역할별 색을 할당하고, 색약 안전성과 대비율을 검증하며, 마크·인터랙션·접근성 규칙을 적용한다. 브랜드 중립 플레이스홀더 팔레트를 쓰고 나중에 자기 팔레트로 바꾼다(v2.1.198+).
지금 상태가 어떤지 읽는 명령들. 고치기 전에 여기부터 확인.
/status
세션 상태·진행 작업 표시
설정 화면의 Status 탭을 열어 버전·모델·계정·연결 상태를 보여준다. Claude 가 응답 중일 때도 즉시 실행되는 명령 중 하나다.
Session kind 행으로 지금 세션이 대화형인지, 백그라운드 작업인지(터미널이 붙었는지까지) 구분할 수 있다(v2.1.221+).
/usage, /cost
토큰 사용량·비용 표시
세션 비용, 플랜 사용 한도, 활동 통계를 보여준다. 유료 플랜에서는 스킬·서브에이전트· 플러그인·MCP 서버별 내역까지 쪼개 준다 — 무엇이 비용을 먹는지 여기서 지목할 수 있다. /cost, /stats 는 별칭이다.
/doctor
설정 진단 및 문제 해결
설치·설정을 점검하고 고쳐 주기까지 하는 번들 스킬이다. 중복·잔여 설치, PATH 문제, 파싱 안 되는 설정 파일을 잡고, 릴리스 채널에 새 버전이 있는지도 확인한다.
쓰지 않는 스킬·MCP 서버·플러그인을 그 컨텍스트 비용과 함께 지목하고, 느린 훅을 표시한다. 로컬 CLAUDE.md 와 체크인된 것의 중복을 정리하고, 너무 커진 CLAUDE.md 에서 코드베이스로 알 수 있는 내용을 덜어내 스킬·중첩 CLAUDE.md 로 옮기는 제안도 한다.
/insights
세션 사용 패턴 분석 보고서
이 기기의 최근 세션들을 분석한 HTML 보고서를 만든다 — 어느 프로젝트에서 일했는지, 어떻게 쓰는지, 어디서 일이 틀어지는지, 써 볼 만한 기능은 무엇인지. 클라우드 세션에서는 쓸 수 없다(분석 대상이 이 기기의 기록이므로).
/recap
세션 한 줄 요약
현재 세션을 한 줄로 요약한다. 자리를 비웠다 돌아왔을 때 자동으로 뜨는 요약과 같은 것을 필요할 때 직접 부르는 형태다. 컨텍스트를 줄이는 /compact 와 달리 대화를 건드리지 않는다.
/heapdump
메모리 진단 스냅샷
JS 힙 스냅샷과 메모리 내역을 ~/Desktop(Linux 에 Desktop 이 없으면 홈)에 쓴다. 메모리 사용량이 비정상적으로 높을 때의 진단용이다. 명령 메뉴에 뜨지 않으므로 이름을 전부 입력해야 한다.
메모리 문제를 신고할 때 -diagnostics.json 만 첨부할 것. .heapsnapshot 에는 대화 전문과 자격증명이 들어 있다 — 공유하면 안 된다.
/artifacts
아티팩트 목록 및 첨부
내가 소유하거나 공유받은 아티팩트를 나열하고 세션에 첨부하거나 브라우저에서 열거나 링크를 복사한다. 아티팩트가 지원되는 환경에서만 사용 가능하다(v2.1.208+). Enter 로 첨부하려면 v2.1.216+ 이 필요하다.
/rate-limit-options
사용 한도 대응 옵션
claude.ai 사용 한도로 요청이 차단될 때 계속 작업하는 방법을 보여준다 — 한도가 리셋될 때까지 기다리고 자동으로 계속, 사용 크레딧 추가, 플랜 업그레이드 등. 터미널에서 한도에 부딪히면 자동으로 이 메뉴를 열 수도 있다(v2.1.234+). 명령 메뉴에 보이지 않으므로 전체 이름을 입력해야 한다.
claude.ai 구독이 필요하다.
/usage-credits
사용 크레딧 구성
사용 크레딧을 구성하거나 한도에 도달했을 때 관리자에게 요청한다. 브라우저에서 사용 크레딧 청구 설정을 연다(v2.1.205+ 이전에는 브라우저가 없을 때 아무것도 표시하지 않음). Team·Enterprise 멤버는 CLI에서 관리자에게 요청을 보낸다.
이전 이름은 /extra-usage였다.
스킬·플러그인·MCP 처럼 기능을 늘리는 축.
/agents
서브에이전트 생성·관리
v2.1.198 부터는 관리 화면이 아니라 안내를 출력한다 — 서브에이전트는 Claude 에게 만들라고 말하거나 .claude/agents/·~/.claude/agents/ 를 직접 편집한다. v2.1.197 이하에서는 대화형 관리 화면이 열렸다.
/hooks
이벤트 훅 설정 보기
도구 이벤트에 걸린 훅 설정을 확인한다. "매번 X 하게 해 줘" 같은 자동 동작은 메모리나 선호가 아니라 훅이 담당한다 — 훅은 Claude 가 아니라 하네스가 실행하기 때문이다.
/mcp [subcommand]
MCP 서버 연결 관리
MCP 서버 연결과 OAuth 인증을 관리한다. 인자 없이 실행하면 대화형 목록이 열리고, reconnect <server> 로 끊긴 서버 하나만 다시 붙이고, enable/disable 에 서버 이름이나 all 을 주면 대화상자 없이 연결 상태만 바꾼다.
-p 비대화 모드에서도 쓸 수 있고, 그때는 목록 대신 상태 요약을 텍스트로 출력한다(v2.1.205+).
/sandbox [action]
격리 환경에서 실행
샌드박스 모드를 켜고 끈다. 지원되는 플랫폼에서만 보인다. 권한 확인이 잦다고 --dangerously-skip-permissions 로 가는 대신 격리로 위험을 낮추는 쪽이 이 명령의 방향이다.
/memory
CLAUDE.md 편집·자동 메모리
CLAUDE.md 파일을 편집하고, 자동 메모리를 켜거나 끄고, 적립된 자동 메모리 항목을 본다. 코드베이스에서 알 수 있는 사실을 메모리에 넣으면 매 세션 컨텍스트 비용만 늘고 낡는다 — 비자명한 결정과 제약만 남기는 편이 낫다.
/permissions
도구 권한 규칙 관리
allow·ask·deny 규칙을 관리하는 대화형 화면을 연다. 스코프별 규칙 보기, 추가·삭제, 작업 디렉터리 관리, 오토 모드의 최근 거부 검토까지 여기서 한다.
응답 중에 실행하면 대화상자가 즉시 열리고, 바꾼 규칙은 같은 턴의 다음 도구 호출부터 적용된다(v2.1.234+).
/list-agents
메시지 가능한 서브에이전트 목록
메시지를 보낼 수 있는 서브에이전트·팀 동료·다른 Claude Code 세션을 주소로 쓸 이름과 함께 나열한다(v2.1.224+). 교차 세션 메시징이 켜진 세션에서만 쓸 수 있다.
/skills
스킬 목록·토큰 비용·노출 조정
쓸 수 있는 스킬을 나열한다. 이름으로 필터하고, t 로 토큰 비용 순 정렬, Space 로 Claude 와 / 메뉴에 대한 노출을 순환시키고 Enter 로 저장한다. 컨텍스트가 비싸진 원인이 스킬 더미인지 여기서 확인할 수 있다.
/reload-skills
스킬·명령 디렉터리 재스캔
세션 중에 디스크에서 추가·수정된 스킬과 명령을 재시작 없이 인식시킨다. 몇 개가 사용 가능하고 몇 개가 추가·삭제됐는지 보고한다(v2.1.152+). 스킬을 만들며 시험할 때 쓴다.
/claude-api [migrate|upgrade|managed-agents-onboard|prompt-audit]
Claude API 참조 자료
프로젝트 언어용 Claude API 및 Managed Agents 참조 자료를 로드한다. 코드가 anthropic 이나 @anthropic-ai/sdk 를 import 하면 자동으로 활성화된다.
migrate 로 기존 Claude API 코드를 새 모델로 업데이트하고, upgrade 로 Anthropic SDK 의존성을 메이저 버전 간에 옮긴다(현재 Python anthropic 패키지 0.x → 1.x). managed-agents-onboard 로 새 Managed Agent 생성을 안내하고, prompt-audit 로 프롬프트·스킬·도구 설명에서 오래된 모델용 지시를 찾아 수정 제안을 diff 로 보여준다(v2.1.221+).
/debug [description]
디버그 로그 활성화 및 문제 해결
현재 세션에 디버그 로그를 활성화하고 세션 디버그 로그를 읽어 문제를 해결한다. 기본값은 claude --debug 로 시작하지 않은 한 디버그 로그가 꺼져 있으므로, 세션 중간에 /debug 를 실행하면 그 시점부터 로그를 캡처한다. 문제 설명을 붙이면 분석에 초점을 맞춘다.
/deep-research <question>
심층 웹 연구
질문에 대해 웹 검색을 펼쳐 소스를 가져와 교차 검증하고 인용이 포함된 보고서를 종합한다. 클라우드에서 도는 워크플로우다(v2.1.218+ 이후에는 명시적으로 호출할 때만 실행).
/design-login
디자인 시스템 인증
/design-sync 를 위한 디자인 시스템 접근 권한을 claude.ai 계정으로 인증한다.
/design-sync [hint]
디자인 시스템 동기화
리포의 React 디자인 시스템을 변환해 Claude Design(https://claude.ai/design)에 올려서 Claude 가 만든 디자인이 실제 컴포넌트를 쓰게 한다. 이름을 붙일 수도 있다(/design-sync Acme DS). 첫 동기화는 모든 컴포넌트를 검증하므로 큰 리포에서는 몇 시간이 걸릴 수 있다. Anthropic API 에서 사용 가능하며, 일부 플랫폼에서는 claude.ai 에 접근할 수 없어 사용할 수 없다.
Anthropic API 에서만 사용 가능하다. 다른 플랫폼에서는 기본 도구가 claude.ai 에 접근할 수 없다.
/auto-mode-setup
오토 모드 환경 설정 생성
프로젝트와 최근 세션에서 autoMode.environment 항목을 초안으로 작성하고, 초안을 검토한 뒤 사용자 설정에 저장한다. Pro·Max·Team 플랜과 Claude Code v2.1.228+ 이 필요하다. 네이티브 Windows 에서는 v2.1.233+ 이 필요하다.
/remote-env
클라우드 에이전트 기본 환경
클라우드 에이전트의 기본 환경을 선택한다.
/import [codex|gemini]
다른 코딩 에이전트 설정 가져오기
이 기기의 다른 코딩 에이전트(현재 OpenAI Codex, Google Gemini CLI) 설정을 가져온다 — 지시 파일·MCP 서버·명령·서브에이전트·스킬까지. --dry-run 은 아무것도 쓰지 않고 미리 보고, --yes 는 선택 화면을 건너뛴다(v2.1.213+).
/plugin [subcommand]
플러그인 관리
Claude Code 플러그인을 관리한다. 인자 없이 실행하면 플러그인 메뉴가 열리고, list·install·enable·disable 같은 하위 명령을 직접 실행할 수도 있다. 설치할 때 플러그인을 바로 활성화할 수도 있고, 설치 요약에서 다시 로드가 필요한지 알려준다.
/reload-plugins [--force]
플러그인 다시 로드
활성 플러그인을 다시 로드해 보류 중인 변경사항을 적용한다. 재로드된 구성요소 수를 보고하고 로드 오류를 표시한다. 재로드로 MCP 도구가 바뀌어 프롬프트 캐시가 무효화되면 경고하고 건너뛴다. --force 를 주면 강제로 진행한다.
다른 서피스(웹·데스크톱)로 작업을 넘기거나 가져오는 축.
/desktop
세션을 데스크톱 앱으로 이동 (별칭 /app)
지금 세션을 데스크톱 앱에서 이어 간다. macOS 또는 x64 Windows 와 Claude 구독이 필요하다. 터미널에서 시작한 작업을 diff 뷰어·브라우저 창이 있는 화면으로 옮길 때 쓴다.
/mobile
모바일 앱 다운로드 QR
모바일 앱을 받을 QR 코드를 띄운다. 원격으로 세션을 지켜보려면 앱 설치 후 /remote-control 로 이 세션을 연결한다.
/remote-control
다른 기기에서 세션 계속
이 세션을 claude.ai 에서 원격 조작할 수 있게 연다 — 세션은 이 기기에서 계속 돌고, 조작 창구만 밖으로 나간다. 로그아웃 상태에서 실행하면 구독이 필요하다는 안내와 로그인 방법을 알려준다(v2.1.206 이전에는 알 수 없는 명령으로 떴다).
/teleport
웹 세션을 터미널로 가져오기
웹에서 돌던 세션을 이 터미널로 끌어온다. 선택기가 열리고 브랜치와 대화를 함께 가져온다. claude.ai 구독이 필요하다. 방향이 반대인 것은 /background(터미널 → 백그라운드)와 /desktop(터미널 → 데스크톱)이다.
/bug [report]
버그 보고·대화 공유
버그를 신고하거나 대화를 공유한다. 얼마나 많은 세션 기록을 포함할지 고르고 동의 화면에서 확인한 뒤에 전송된다.
Anthropic 계정으로 1st-party 연결에 로그인돼 있으면 Anthropic 으로 가고, 서드파티 공급자나 자격증명이 없으면 ~/.claude/feedback-bundles/ 아래 로컬 묶음으로 저장돼 직접 전달하게 된다.
대화 기록에는 코드·경로·환경 정보가 섞여 있다. 포함 범위를 고르는 화면을 그냥 넘기지 말 것.
/feedback [report]
제품 피드백 전송
제품 피드백을 보낸다. /bug 과 같은 대화상자·동의 절차·전송 규칙을 쓴다 — 차이는 신고의 성격뿐이다.
/web-setup
웹 세션용 GitHub 연결
로컬 gh CLI 자격증명으로 GitHub 계정을 웹(Claude Code on the web)에 연결한다. /schedule 처럼 클라우드에서 도는 기능이 GitHub 연결을 필요로 하면 자동으로 이것을 물어본다.
/install-github-app
GitHub 앱 설치
저장소에 Claude GitHub 앱을 설치하고, GitHub Actions 워크플로와 시크릿을 설정하는 선택 단계를 거친다. 저장소 선택과 통합 설정을 안내하는 마법사가 실행된다.
/install-slack-app
Slack 앱 설치
Claude Slack 앱을 설치한다. OAuth 흐름을 완료하기 위해 브라우저를 연다.
/team-onboarding
팀 온보딩 가이드 생성
Claude Code 사용 기록에서 팀 온보딩 가이드를 생성한다. 지난 30일간의 세션·명령·MCP 서버 사용을 분석해 팀원이 첫 메시지로 붙여넣어 빠르게 설정할 수 있는 마크다운 가이드를 만든다. claude.ai 구독자(Pro·Max·Team·Enterprise)에서는 바로 열 수 있는 공유 링크도 제공한다.
설정과 개인화. 대부분 설정 파일에도 같은 항목 존재.
/config [key=value]
설정 열기/직접 지정
설정 화면을 열어 테마·모델·출력 스타일 등을 조정한다. 화면을 열지 않고 값만 바꿀 수도 있다 — /config thinking=false 처럼 key=value 를 넘기면 된다(v2.1.181+). theme=dark, model=sonnet 같은 축약 키도 받는다(v2.1.182+).
/config --help 로 설정 가능한 키 전체와 각 선택지를 볼 수 있다. key=value 형태는 -p 비대화 모드와 모바일 원격 제어에서도 동작한다.
/color [color|default]
프롬프트 바 색상
프롬프트 바 색을 이번 세션에 대해 정한다. red·blue·green·yellow·purple·orange·pink·cyan 중에서 고르고, default 로 되돌리고, 인자 없이 실행하면 무작위로 고른다.
여러 세션을 동시에 띄워 두는 환경에서 어느 터미널이 어느 작업인지 구분하는 용도로 쓸 만하다. 원격 제어가 붙어 있으면 색이 claude.ai 쪽에도 동기화된다.
/keybindings
단축키 파일 열기
키보드 단축키 파일(~/.claude/keybindings.json)을 연다. 기본 제출 키를 바꾸거나 코드 방식 단축키를 추가하는 것도 여기서 한다.
/privacy-settings
개인정보보호 설정
Pro·Max 구독자만 쓸 수 있다 — 다른 플랜에서는 명령 목록에 보이지 않는다.
/fewer-permission-prompts
권한 프롬프트 감소
과거 대화 기록을 훑어 자주 쓰인 읽기 전용 Bash·MCP 호출을 찾아, 우선순위를 매긴 허용 목록을 프로젝트 .claude/settings.json 에 추가하는 번들 스킬이다.
실제로 쓴 것만 근거로 허용하므로, 권한을 통째로 끄는 것(--dangerously-skip-permissions)과 성질이 다르다.
/theme
색 테마 변경
색 테마를 바꾼다. 터미널 배경의 명암을 따라가는 auto, 라이트·다크 변형, 색약 대응(daltonized) 테마, 터미널 팔레트를 그대로 쓰는 ANSI 테마, 그리고 ~/.claude/themes/ 나 플러그인에서 온 커스텀 테마까지 고를 수 있다. 목록의 New custom theme… 로 새로 만들 수도 있다.
/statusline
상태줄 구성
상태줄을 구성한다. 원하는 내용을 말로 설명하거나, 인자 없이 실행하면 현재 셸 프롬프트에서 자동으로 구성해 준다. 모델·브랜치·비용 같은 것을 항상 눈에 두고 싶을 때 쓴다.
/terminal-setup
터미널 단축키 설정
Shift+Enter 같은 단축키가 먹지 않는 터미널에서 키 바인딩을 설정한다. 필요한 터미널에서만 명령 목록에 보인다 — VS Code, Cursor, Devin Desktop, Alacritty, Zed 등. 줄바꿈이 안 되고 바로 전송돼 버릴 때 찾을 명령이다.
/tui [default|fullscreen]
터미널 UI 렌더러 설정
터미널 UI 렌더러를 설정하고 대화를 유지한 채 다시 시작한다. fullscreen 은 깜빡임 없는 alt-screen 렌더러를 켠다. 인자 없이 실행하면 활성 렌더러를 출력한다.
/voice [hold|tap|off]
음성 받아쓰기 토글
음성 받아쓰기를 켜거나 끄거나 특정 모드로 설정한다. hold·tap·off 중에서 고르고, claude.ai 계정이 필요하다.
마이크 접근 권한이 필요하다.
자주 쓰이진 않지만 필요할 때 찾게 되는 것들.
/cd <path>
작업 디렉토리 이동
대화와 프롬프트 캐시를 유지한 채 세션의 작업 디렉터리를 옮긴다(v2.1.169+). 부분 경로를 입력하면 후보가 뜨고 Tab 으로 채운다. 처음 다루는 위치면 워크스페이스를 신뢰할지 먼저 묻고, 이후 --resume 이 옮겨진 세션을 찾아낸다.
세션을 옮기지 않고 접근 권한만 추가하려면 /add-dir 다. 이동 대상을 제한하려면 Cd 권한 규칙을 쓴다.
/add-dir <path>
작업 디렉토리 추가
현재 세션에서 파일 접근이 가능한 작업 디렉터리를 추가한다. 성공하면 DirectoryAdded 훅이 돈다. 응답 중에 실행하면 바로 확인을 묻고, 확인하면 같은 턴의 다음 도구 호출부터 접근된다 (v2.1.234+).
추가한 디렉터리의 .claude/ 설정은 대부분 읽히지 않는다 — 파일 접근 권한이 늘어나는 것이지 설정이 합쳐지는 것이 아니다.
/chrome
Claude in Chrome 설정
Claude in Chrome 설정을 구성한다. 내 실제 Chrome 의 로그인 세션을 그대로 쓰는 경로이므로, 로그인이 필요한 화면을 다뤄야 할 때 쓴다.
/copy [N]
마지막 응답 클립보드 복사
마지막 응답을 클립보드로 복사한다. 숫자를 주면 N번째 최신 응답을 복사한다(/copy 2). 코드 블록이 있으면 블록 단위로 고르는 선택기가 뜨고, 거기서 w 를 누르면 클립보드 대신 파일로 쓴다 — SSH 로 붙어 있을 때 유용하다.
/login, /logout
계정 로그인/로그아웃
Anthropic 계정에 로그인·로그아웃한다. 개인 계정과 업무 계정을 오갈 때, 그리고 구독이 필요한 기능(원격 제어·텔레포트 등)이 인증을 요구할 때 쓴다.
/upgrade
Claude Code 업그레이드
상위 플랜으로 바꾸는 페이지를 브라우저에서 연다. CLI 자체를 업데이트하는 명령이 아니라 요금제 변경이다 — 버전 업데이트는 릴리스 채널 쪽이고 /doctor 가 새 버전 유무를 알려준다.
브라우저가 열리지 않는 환경(SSH 등)에서는 URL 을 출력하지 않고 로그인 안내만 뜬다.
/stop
백그라운드 세션 중단
현재 백그라운드 세션을 세운다. 붙어 있는 동안만 쓸 수 있고, 대화 기록과 워크트리는 남는다. 세우지 않고 빠져나오려면 /exit 이나 왼쪽 화살표를 쓴다.
/web
공식 명령 표에 없음 (2026-08-24 확인)
초벌 이관 때 "웹 검색 도구 활성화"로 적혀 있었으나, 공식 명령 표(2026-08-24 확인)에 /web 이 없다. 이름이 바뀌었거나 사라진 것으로 보인다.
대신 찾을 곳: 웹 세션용 GitHub 연결은 /web-setup, 도구 허용·차단은 /permissions, 웹 검색 자체는 도구 권한과 설정에서 다룬다.
/focus
포커스 뷰 토글
포커스 뷰를 토글한다 — 마지막 프롬프트, 요약된 도구 호출 통계, 최종 응답만 보여준다. 도구 호출 요약에서 이번 턴에 시작된 서브에이전트 수도 세고, 완료된 백그라운드 작업 알림을 하나로 합친다. 전체화면 렌더링에서만 사용 가능하다. 설정의 viewMode 로 덮어쓸 수 있다.
/ide
IDE 통합 관리 및 상태
IDE 통합을 관리하고 상태를 보여준다. VS Code 등 IDE에서 Claude Code를 사용할 때 연결 상태와 설정을 확인하는 용도다.
/release-notes
변경 로그
대화형 버전 선택기로 변경 로그를 연다. 특정 버전을 선택해 해당 버전의 릴리스 노트를 보거나, 모든 버전을 표시할 수도 있다. 노트는 대화 기록에 추가되지만 Claude 가 보는 대화에는 들어가지 않는다.
/stickers
Claude Code 스티커 주문
Claude Code 스티커를 주문하는 페이지를 연다.
/passes
Claude Code 공유 패스
친구와 Claude Code를 무료로 1주일 공유할 수 있는 패스를 제공한다. 계정이 자격이 있을 때만 보인다.
/radio
Claude FM 라디오
브라우저에서 Claude FM lo-fi 라디오를 연다. 브라우저가 없으면 스트림 URL을 출력한다. 일부 플랫폼(Amazon Bedrock, Google Cloud Agent Platform, Microsoft Foundry, Claude Platform on AWS)에서는 사용할 수 없다.
/powerup
Claude Code 기능 소개
애니메이션 데모가 있는 빠른 대화형 레슨으로 Claude Code 기능을 발견한다.
/scroll-speed
마우스 휠 스크롤 속도
마우스 휠 스크롤 속도를 대화형으로 조정한다. 대화상자가 열린 상태에서 눈금을 스크롤하며 변경사항을 미리 볼 수 있다. 전체화면 렌더링에서만 사용 가능하며 JetBrains IDE 터미널에서는 사용할 수 없다.
/setup-bedrock
Amazon Bedrock 설정
Amazon Bedrock 인증·리전·모델 핀을 대화형 마법사로 설정한다. CLAUDE_CODE_USE_BEDROCK=1 이 설정되기 전까지는 명령 메뉴에 보이지 않으므로 전체 이름을 입력해야 한다. 첫 Amazon Bedrock 사용자는 로그인 화면에서도 이 마법사에 접근할 수 있다.
명령 메뉴에 숨겨져 있으므로 전체 이름을 입력해야 한다.
/setup-vertex
Google Cloud Agent Platform 설정
Google Cloud Agent Platform 인증·프로젝트·리전·모델 핀을 대화형 마법사로 설정한다. CLAUDE_CODE_USE_VERTEX=1 이 설정되기 전까지는 명령 메뉴에 보이지 않으므로 전체 이름을 입력해야 한다. 첫 Google Cloud Agent Platform 사용자는 로그인 화면에서도 이 마법사에 접근할 수 있다.
명령 메뉴에 숨겨져 있으므로 전체 이름을 입력해야 한다.
팀 연동과 조사 성격의 명령.
/install-github-app
Claude GitHub App 설치
저장소에 Claude GitHub App 을 설치한다. 저장소를 고르는 단계와 연동 설정을 안내하고, GitHub Actions 워크플로와 시크릿까지 같이 잡아 주는 선택 단계가 붙는다. PR 에서 Claude 를 부르거나 CI 안에서 돌리려면 여기가 출발점이다.
/install-slack-app
Claude Slack 앱 설치
Claude Slack 앱을 설치한다. 브라우저가 열려 OAuth 흐름을 마치면 워크스페이스에서 Claude 를 부를 수 있다.
/release-notes
버전별 체인지로그 보기
대화형 버전 선택기로 체인지로그를 본다. 특정 버전의 노트만 보거나 전체를 펼칠 수 있다.
노트는 화면에만 뜨고 Claude 가 보는 대화에는 들어가지 않는다 — 긴 릴리스 노트를 읽어도 컨텍스트가 늘지 않는다.
/claude-api [subcommand]
Claude API 참고자료 로드
프로젝트 언어에 맞는 Claude API·Managed Agents 참고자료를 불러오는 번들 스킬이다. 코드가 anthropic 이나 @anthropic-ai/sdk 를 임포트하면 자동으로도 켜진다.
하위 명령: migrate 는 기존 API 코드를 새 모델로, upgrade 는 SDK 의존성을 메이저 버전 너머로, managed-agents-onboard 는 Managed Agent 생성 안내, prompt-audit 는 옛 모델 기준으로 쓰인 지시를 찾아 수정안을 diff 로 제시한다.
모델 ID·가격·한도는 기억으로 답하지 말고 이 자료로 확인할 것 — 그 값들이 가장 빨리 낡는다.
/deep-research <question>
웹 검색 기반 심화 조사
질문 하나에 대해 웹 검색을 부채꼴로 펼치고, 출처를 가져와 교차 확인한 뒤 인용이 붙은 보고서로 합치는 번들 워크플로다. 백그라운드에서 돌고, 내가 부를 때만 시작한다 (v2.1.218 이전에는 Claude 가 스스로 시작할 수도 있었다).
서브에이전트를 여럿 띄우는 워크플로다 — 가벼운 질문에 부르면 답보다 비용이 크다.
/dataviz [request]
차트·대시보드 설계 지침
차트·그래프·대시보드의 설계 지침을 불러오는 번들 스킬이다(v2.1.198+). 데이터에 맞는 차트 형태를 고르고, 색을 역할에 따라 배정하고, 번들 스크립트로 색약 안전성과 명암비를 검증하고, 마크·인터랙션·접근성 규칙을 적용한다. 팔레트는 브랜드 중립 자리표시자이므로 내 것으로 교체한다.
/design-sync [hint]
디자인 시스템 업로드
저장소의 React 디자인 시스템을 변환해 Claude Design 에 올린다 — 이후 생성되는 디자인이 내 실제 컴포넌트를 쓰게 된다. 이름을 붙일 수도 있다(/design-sync Acme DS).
첫 동기화는 모든 컴포넌트를 검증하므로 큰 저장소에서는 몇 시간이 걸릴 수 있다. Bedrock·Vertex·Foundry 등에서는 claude.ai 에 닿지 못해 쓸 수 없다.
/team-onboarding
팀 온보딩 가이드 생성
최근 30일의 세션·명령·MCP 사용 기록을 분석해 팀 온보딩 가이드를 마크다운으로 만든다. 동료가 첫 메시지로 붙여 넣으면 바로 세팅이 되는 형태다. claude.ai 유료 플랜에서는 Claude Code 에서 바로 열리는 공유 링크도 돌려준다.
내 사용 기록에서 만들어지므로 경로·저장소 이름 같은 것이 섞인다 — 공유 전에 읽어 볼 것.
화면·입력·재미 요소처럼 본작업 밖의 것들.
/focus
포커스 뷰 토글
마지막 프롬프트, 한 줄로 요약된 도구 호출(편집 diffstat 포함), 최종 응답만 남기는 화면으로 바꾼다. 요약 줄은 그 턴에 띄운 서브에이전트 수를 세고, 끝난 백그라운드 작업 알림을 하나로 합친다.
선택은 세션을 넘어 유지되고, 설정의 viewMode 로 덮어쓸 수 있다. 전체화면 렌더링에서만 쓸 수 있다.
/radio
Claude FM 로파이 라디오
브라우저에서 Claude FM 로파이 라디오를 연다. 브라우저를 열 수 없는 환경에서는 스트림 URL 을 출력한다. Bedrock·Vertex·Foundry 등에서는 쓸 수 없다.
/powerup
인터랙티브 기능 학습 레슨
애니메이션 데모가 붙은 짧은 대화형 레슨으로 기능을 익힌다. 문서를 읽는 대신 한 기능씩 실제로 눌러 보는 방식이라 처음 붙는 사람에게 권할 만하다.
/passes
Claude Code 무료 체험 공유
친구에게 Claude Code 1주 무료 체험을 공유한다. 계정이 대상일 때만 목록에 보인다.
/design-login
디자인 시스템 접근 권한
claude.ai 계정으로 /design-sync 가 쓸 디자인 시스템 접근 권한을 승인한다. 동기화가 권한 문제로 막히면 여기부터 확인한다.
/tui [default|fullscreen]
터미널 렌더러 선택
터미널 UI 렌더러를 정하고 대화를 유지한 채 그 렌더러로 다시 띄운다. fullscreen 은 깜빡임 없는 대체 화면 렌더러를 켠다. 인자 없이 실행하면 현재 렌더러를 출력한다. /focus 나 /scroll-speed 처럼 전체화면에서만 되는 기능의 전제 조건이다.
/scroll-speed
마우스 휠 스크롤 속도
마우스 휠 스크롤 속도를 대화형으로 조정한다. 대화상자가 열린 상태에서 바로 굴려 보며 확인할 수 있는 자가 함께 뜬다. 전체화면 렌더링에서만 쓸 수 있고 JetBrains IDE 터미널에서는 쓸 수 없다.
/voice [hold|tap|off]
음성 입력 토글
음성 입력을 켜거나 특정 방식으로 지정한다 — hold 는 누르고 있는 동안, tap 은 눌러서 시작·정지. Claude.ai 계정이 필요하다.
/stickers
Claude Code 스티커 주문
플러그인이 제공하는 명령의 호출 문법.
/plugin # Discover/Installed/
예시
/plugin 은 터미널에서 대화형 패널을 연다. Discover(마켓 목록)·Installed(설치된 것)· Marketplaces(출처 관리)·Errors(로드 실패 원인) 네 탭으로 되어 있고, Errors 탭은 LSP 바이너리 누락처럼 조용히 실패한 것을 찾는 자리다.
마켓 이름을 붙여 설치하면(name@marketplace) 조회 전에 그 마켓을 새로 받아온다. 이름만 주면 캐시된 목록에서 찾으므로, 방금 올라온 플러그인은 /plugin marketplace update <name> 을 먼저 돌려야 보인다.
스크립트에서는 패널을 열지 않는 셸 명령(claude plugin install ... --scope project)을 쓴다.
/plugin # Discover/Installed/
# Marketplaces/Errors 탭
/plugin marketplace add owner/repo | url | 경로
/plugin marketplace list / update <name> / remove <name>
/plugin install <name>@<marketplace>
/plugin uninstall / enable / disable <name>@<marketplace>
/plugin list [--enabled|--disabled]
/reload-plugins [--force] # 변경사항 즉시 적용
설치 요약이 "Run /reload-plugins to activate." 면 아직 활성이 아니다 — 프롬프트 캐시를 깨뜨리는 변경이라 미뤄 둔 것이므로 직접 실행해야 적용된다.
어느 범위에 설치되느냐가 어디서 쓸 수 있는지를 결정.
User
내 계정, 모든 프로젝트에 설치
내 계정 기준으로 모든 프로젝트에서 쓴다. 저장소에 흔적이 남지 않으므로 동료의 환경에는 영향이 없다 — 내 작업 습관에 속한 도구는 여기가 맞다.
Project
.claude/settings.json에 기록, 협업자 공유
.claude/settings.json 에 기록되므로 커밋되면 협업자 전원에게 같이 깔린다. 팀이 함께 쓰기로 합의한 것만 여기 넣는다.
나만 빼고 싶을 때는 제거가 아니라 .claude/settings.local.json 의 무효화로 처리된다 — 제거하면 남에게서도 사라진다.
Local
이 저장소에서 나만(.local.json)
이 저장소에서 나만 쓴다(.claude/settings.local.json). 프로젝트에 필요하지만 팀에 강요하고 싶지 않은 도구를 붙일 자리다.
Managed
관리자가 배포, 변경 불가
관리자가 관리형 설정으로 설치한 것이라 내가 바꿀 수 없다. 목록에 보이는데 비활성화가 안 되면 이 스코프인지 확인한다.
스킬은 plugin-name:command 형태로 네임스페이스 (예: /commit-commands:commit)
플러그인 스킬은 plugin-name:skill-name 으로 네임스페이스가 붙는다. 그래서 내 프로젝트의 같은 이름 스킬과 충돌하지 않고 나란히 존재한다.
네임스페이스가 없는 쪽의 우선순위는 enterprise → personal → project 순으로 덮어쓰며, 같은 이름의 스킬과 .claude/commands/ 명령이 함께 있으면 스킬이 이긴다.
설치 요약에 "Run /reload-plugins to activate." 표시되면 반드시 실행
실사용 빈도가 높은 것들. 직접 만들기 전에 여기 있는지 먼저 확인.
1. frontend-design
(공식 마켓) 디자인 토큰·레이아웃 추론으로 UI 품질 향상
/plugin install frontend-design@claude-plugins-official
2. superpowers
(커뮤니티) 브레인스토밍·서브에이전트 개발·TDD 등 워크플로우 모음
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace
3. context7
(커뮤니티) 최신 라이브러리 문서를 온디맨드로 조회
/plugin marketplace add upstash/context7
/plugin install context7@context7-marketplace
4. claude-mem
세션 간 영구 메모리 추가 — 플러그인 시스템이 아닌 별도 설치
npx claude-mem install
5. caveman
(커뮤니티) 토큰 절약형 축약 응답 모드
/plugin marketplace add JuliusBrussee/caveman
/plugin install caveman@caveman
Anthropic은 설치 통계를 공개하지 않음 — 순위는 ClaudeMarketplaces 등 커뮤니티 집계 기준. 서드파티 플러그인은 설치 전 신뢰 여부 직접 확인 필요
언어 서버를 붙여 코드 인텔리전스를 얹는 계열. 설치 후 언어서버 바이너리를 따로 깔아야 동작.
C/C++
clangd-lsp (바이너리: clangd)
C#
csharp-lsp (바이너리: csharp-ls)
Go
gopls-lsp (바이너리: gopls)
Java
jdtls-lsp (바이너리: jdtls)
Kotlin
kotlin-lsp (바이너리: kotlin-language-server)
Lua
lua-lsp (바이너리: lua-language-server)
PHP
php-lsp (바이너리: intelephense)
Python
pyright-lsp (바이너리: pyright-langserver)
Rust
rust-analyzer-lsp (바이너리: rust-analyzer)
Swift
swift-lsp (바이너리: sourcekit-lsp)
TypeScript
typescript-lsp (바이너리: typescript-language-server)
설치 후 해당 언어서버 바이너리 별도 설치 필요 — 자동 진단(에러·타입) + 정밀 코드 탐색 제공
이 계열은 Claude Code 내장 LSP 도구를 켜는 설정 묶음이다. 바이너리는 플러그인이 깔아 주지 않으므로 표의 것을 직접 설치해야 한다. 얻는 것은 둘이다.
자동 진단 — 파일을 편집할 때마다 언어 서버가 에러·경고를 돌려준다. 컴파일러나 린터를 돌리지 않고도 타입 오류·누락된 임포트를 그 턴 안에서 알아채고 고친다. 직접 읽으려면 "Found N new diagnostic issues" 표시가 뜰 때 Ctrl+O 를 누른다.
정밀 탐색 — 정의로 이동, 참조 찾기, 타입 정보, 심볼 목록, 구현 찾기, 호출 계층. grep 기반 검색보다 정확하다(언어·환경에 따라 가용 범위는 다르다).
설치 후 /plugin Errors 탭에 Executable not found in $PATH 가 뜨면 바이너리가 없는 것이다 — 플러그인은 깔렸어도 아무 진단도 오지 않는다.
MCP 서버가 미리 설정된 채로 오는 외부 연동 계열. 손으로 붙이는 설정을 건너뛴다.
github, gitlab
MCP 서버가 미리 구성된 채로 온다 — 토큰·엔드포인트를 손으로 적을 일이 없다. PR·이슈를 읽고 쓰는 작업이 잦으면 gh CLI 만으로 버티기보다 이쪽이 편하다.
atlassian (Jira/Confluence), asana, linear, notion
figma
Figma 연동. 저장소의 React 디자인 시스템을 Claude Design 에 올리는 /design-sync 와는 다른 축이다 — 이쪽은 디자인 파일을 읽는 연결이다.
vercel, firebase, supabase
slack
Slack 연동. 워크스페이스에서 Claude 를 부르는 앱 설치는 /install-slack-app 쪽이고, 이것은 세션에서 Slack 을 읽고 쓰는 MCP 연결이다.
sentry
security-guidance
변경마다 자동 보안 리뷰
Claude 가 만드는 변경마다 흔한 취약점을 검토하고 같은 세션에서 고치도록 지시한다. 브랜치 전체를 한 번에 보는 /security-review 와 달리 변경 단위로 계속 붙는 방식이다. 프로젝트별 규칙을 추가할 수도 있다.
commit-commands
커밋·푸시·PR 생성 스킬
커밋·푸시·PR 생성 흐름을 스킬로 제공한다. 설치 후에는 /commit-commands:commit 처럼 네임스페이스가 붙은 이름으로 부른다.
pr-review-toolkit
PR 리뷰 전용 에이전트
PR 리뷰에 특화된 에이전트 묶음. 내장 /code-review 로 부족할 때, 관점을 나눠 여러 번 돌리는 용도로 얹는다.
agent-sdk-dev, plugin-dev
SDK·플러그인 개발 도구
agent-sdk-dev 는 Claude Agent SDK 로 만들 때, plugin-dev 는 플러그인을 직접 만들 때 쓰는 도구 묶음이다. 남의 플러그인을 쓰는 쪽이 아니라 만드는 쪽에 필요한 것들이다.
explanatory-output-style
구현 선택의 이유를 설명해주는 출력 스타일
구현 선택의 근거를 함께 설명하는 출력 스타일. 남의 코드베이스에 처음 붙을 때, 결과만 받는 대신 왜 그렇게 했는지 같이 읽고 싶을 때 쓴다.
learning-output-style
대화형 학습 모드 출력 스타일
학습을 위한 대화형 모드. 답을 바로 주기보다 짚어 가며 익히게 한다. 출력 스타일 계열은 호출 기록이 남지 않아도 값을 주므로, 미사용 정리 대상에서 빠진다.
설치·관리에서 겪는 실무 문제들.
플러그인은 MCP 서버·파일·스크립트를 함께 들고 온다. Anthropic 은 그 내용을 통제하지 않고 의도대로 동작한다는 보증도 하지 않는다 — 설치는 남의 코드를 내 세션에 상주시키는 결정이다. 각 플러그인의 홈페이지를 먼저 확인한다.
Context cost
설치 화면에 표시되는 매 턴 추가 토큰 비용
설치 화면에 그 플러그인이 매 턴 추가하는 토큰 비용이 표시된다. 기능이 마음에 들어도 이 값이 크면 상주 비용이 계속 나간다 — 자주 쓰지 않을 것이면 필요할 때만 켜는 편이 낫다.
Installed
미사용 플러그인을 골라내는 탭 — Not used recently 머리말과 Last used 줄
Installed 탭은 2주 이상, 10세션 이상 쓰지 않은 플러그인을 "Not used recently" 머리말 아래로 모아 준다. 상세 화면에는 Last used 줄이 붙는다. 쓰지 않는데 시작·컨텍스트 비용만 내는 것을 여기서 골라 끄거나 지운다.
예외: 조직이 관리하는 것과 --plugin-dir 로 불러온 것, 그리고 테마·출력 스타일·모니터· 워크플로를 제공하는 것은 호출 기록 없이도 값을 주므로 미사용으로 분류되지 않는다. LSP 플러그인은 진단이나 탐색 요청에 응답하면 사용으로 집계된다(v2.1.203+).
셸 명령은 패널을 열지 않으므로 스크립트·프로비저닝에 쓴다. --scope 없이 실행하면 user 스코프로 들어간다. 세션 안에서 돌린 것이 아니므로 다음 시작 때 또는 /reload-plugins 로만 적용된다.
anthropics/claude-plugins-community — 자동 검증 통과 · 커밋 SHA 고정
공식 마켓(claude-plugins-official)은 첫 대화형 실행에서 자동으로 추가되지만, 커뮤니티 마켓은 직접 추가한다.
Anthropic 의 자동 검증·안전성 심사를 통과한 서드파티 플러그인이 올라가고, 각 항목이 특정 커밋 SHA 에 고정되어 있다. 설치 이름은 @claude-community 다.
/plugin marketplace add anthropics/claude-plugins-community
/plugin install <plugin-name>@claude-community
다음 요청에서 캐시가 깨질 수 있음
재적용은 다음 요청에 비용을 남긴다 — 새로 올라온 구성 요소가 대화에 덧붙는 형태로 스스로를 알린다. MCP 서버를 제공하는 플러그인은 도구가 지연 로드되지 않는 경우 캐시가 깨져 대화 전체를 다시 읽는다.
캐시를 깨뜨릴 상황이면 명령이 경고하고 건너뛰며, --force 로 다시 불러야 진행한다.
한 번 쓰고 말 것과 배포할 것의 구분.
내장 슬래시 명령어 → 세션·모델·진단 등 Claude Code 자체 기능 제어
내장 명령은 도구 자체를 조작한다 — 컨텍스트를 자르고, 모델을 바꾸고, 권한을 정하고, 상태를 읽는다. 동작이 CLI 에 박혀 있으므로 내가 바꿀 여지가 없고, 그래서 예측 가능하다.
일부는 내장이 아니라 번들 스킬이다(/code-review, /simplify, /verify, /doctor, /loop, /batch 등) — 프롬프트가 Claude 에게 넘겨지는 형태라 상황에 따라 Claude 가 스스로 부를 수도 있다.
플러그인 → 스킬·에이전트·MCP·Hooks를 패키지로 확장, 설치 후 plugin:command 형태로 사용
플러그인은 스킬·에이전트·MCP 서버·훅·LSP 서버를 한 묶음으로 배포하는 단위다. 설치 후에는 plugin-name:skill-name 네임스페이스로 부른다.
판단 기준은 배포 여부다 — 나 혼자 반복하는 것은 .claude/skills/ 파일 한 장이면 끝이고, 팀·조직에 나눠 주고 버전을 관리해야 하는 것부터 플러그인이 값을 한다.
.claude/skills/<name>/SKILL.md 가 정본, .claude/commands/*.md 도 계속 동작
커스텀 명령은 스킬로 통합됐다. 같은 이름의 스킬과 명령이 둘 다 있으면 스킬이 이긴다 (.claude/commands/deploy.md 와 .claude/skills/deploy/SKILL.md 가 함께 있으면 /deploy 는 스킬을 실행한다).
스킬은 디렉터리라 보조 파일을 함께 담을 수 있고 프런트매터로 도구·모델·강도까지 지정한다 — 명령 파일에서 옮겨 갈 이유가 대개 여기 있다.
파일 한 장이면 명령 하나 생성. 커스텀 명령은 스킬로 통합, 문법은 동일.
.claude/commands/*.md
프로젝트 명령 파일 — 스킬로 통합됐지만 계속 동작
두는 위치가 누가 쓸 수 있는지를 정한다.
개인 ~/.claude/skills/<name>/SKILL.md — 내 모든 프로젝트. 프로젝트 .claude/skills/<name>/SKILL.md — 이 프로젝트만. 플러그인 <plugin>/skills/<name>/SKILL.md — 플러그인이 켜진 곳.
같은 이름이 겹치면 enterprise → personal → project 순으로 덮어쓴다. .claude/commands/*.md 도 같은 방식으로 동작하지만, 스킬과 이름이 겹치면 스킬이 이긴다.
전부 선택 필드 — description 은 Claude 가 언제 쓸지 판단하는 근거
자주 쓰는 필드: name(표시 이름, 기본값은 디렉터리 이름), description(무엇을·언제), when_to_use(트리거 문구), argument-hint(자동완성 힌트), arguments(이름 붙은 위치 인자), allowed-tools/disallowed-tools(그 턴 동안의 도구 허용·차단), model·effort(그 턴만 모델·추론 강도 덮어쓰기), context: fork(포크된 서브에이전트로 실행), paths(글롭에 맞는 파일을 다룰 때만 자동 로드), disable-model-invocation(내가 부를 때만), user-invocable: false(Claude 만 부름), hooks, shell, metadata, license.
description 과 when_to_use 를 합친 길이는 목록에서 1,536자에서 잘린다 — 핵심 용례를 앞에 둘 것.
$ARGUMENTS 는 명령 이름 뒤에 온 전체 문자열로 치환된다. 위치별로 쓰려면 $ARGUMENTS[N] 또는 짧게 $N 을 쓴다(/migrate-component SearchBar React Vue → $0=SearchBar, $1=React, $2=Vue).
인자를 넘겼는데 본문에 $ARGUMENTS 가 없으면 내용 끝에 ARGUMENTS: <입력> 이 덧붙는다 — 누락돼도 입력 자체는 Claude 에게 전달된다.
여기서 쓰는 $ARGUMENTS·$1 은 실행 시점 문법이다. 프롬프트 본문의 {key} 자리표시자와 섞지 말 것.
한 메시지 앞머리에 스킬을 여러 개 쌓을 수도 있다 — /write-tests /fix-issue 123 은 둘을 모두 불러오고 뒤에 남은 123 을 각자의 $ARGUMENTS 로 넘긴다. 첫 스킬 + 최대 5개까지 펼쳐지고, 포크된 서브에이전트로 도는 스킬(/code-review)이나 인자가 슬래시로 시작할 수 있는 스킬(/loop)을 만나면 거기서 멈춘다.
~/.claude/skills/ 와 프로젝트 .claude/skills/ 는 세션 중 변경이 자동 감지된다. 세션 시작 때 없던 디렉터리를 새로 만들었으면 재시작해야 감시가 붙는다.
명령을 이어 붙여 쓰는 실전 조합.
계획을 먼저 받는 이유는 되돌리는 비용이 가장 싼 지점이 여기라서다. 구현 후의 리뷰는 두 번으로 나눈다 — /code-review 는 정확성, /security-review 는 브랜치 전체의 보안. 한 번에 다 보라고 하면 관점이 섞여 얕아진다.
고침을 쌓다 막혔으면 그 위에 또 쌓지 말고 되돌린다. 되돌린 뒤에는 재현부터 다시 만든다 — 재현 없이 고치면 무엇이 고쳤는지 알 수 없고, 다음에 또 같은 자리에서 막힌다.
/diff 의 턴별 diff 로 내가 의도한 파일만 바뀌었는지 먼저 본다. 동시에 다른 세션이 돌고 있으면 특히 그렇다 — 인덱스 전체를 커밋하면 남이 stage 해 둔 것이 함께 들어간다.
순서가 중요하다. /context 로 무엇이 먹는지 먼저 보고, 작업이 바뀐 것이면 /clear, 이어가야 하면 /compact, 그 다음에 /effort 나 /model 로 강도를 내린다. 감으로 자르면 남겨야 할 것을 자른다.
파일을 많이 훑어야 하는 조사는 본 대화에 쌓지 않고 넘긴다. 결과만 돌아오므로 이후 작업이 가벼워진다. 여러 개를 띄웠으면 /tasks 에서 끝난 것을 회수한다.
다만 위임이 항상 싸지는 않다 — 위치·존재·개수를 찾는 검색은 직접 하는 편이 대개 싸다. 위임이 이기는 것은 여러 파일의 내용을 읽어야 답이 나올 때다.
판정 근거가 되는 1차 출처.
이 서피스의 정본이다. 명령별 인자·별칭·버전 요구사항·플랫폼 제약이 표 하나에 다 들어 있고, 삭제된 명령도 "Removed in vX" 로 남아 있다 — 옛 문서나 블로그에서 본 명령이 안 먹으면 여기서 확인한다.
공식 마켓 카탈로그(LSP 계열의 필요 바이너리 표 포함), 스코프별 설치, Installed 탭의 미사용 판정 규칙이 여기 있다.
만드는 쪽 문서. 배포까지 갈 것이 아니면 스킬 문서(/docs/en/skills)로 충분하다.
커스텀 명령이 스킬로 통합된 뒤의 정본이다. 프런트매터 전체 필드, 인자 치환($ARGUMENTS, $N), 스킬이 사는 위치와 이름 충돌 규칙이 여기 있다.
터미널을 열지 않고 카탈로그를 훑을 때. 설치는 결국 /plugin install <name>@claude-plugins-official 이다.
커뮤니티 집계다. Anthropic 은 설치 통계를 공개하지 않으므로 여기의 순위는 공식 수치가 아니다 — 참고로만 본다.
문제 · 어디에 · 복붙할 프롬프트. 반복해서 겪은 것만 한 장씩 남긴다. · 섹션 1개 · 항목 1개
문제 · 어디에 · 복붙할 프롬프트. 새 규칙이 생기면 이 형태로 한 장 늘린다.
어디에 — ~/.claude/CLAUDE.md (전역. 모든 프로젝트·모든 새 세션에 자동 로드)
2026-08-25 실측. 여러 프로젝트·세션에서 같은 실패를 반복해서 겪었고, 원인은 코드가 아니라 브라우저 패널이 화면에 보이지 않는 것이었다.
화면 캡처는 앱 내장 스크린샷 도구를 쓰지 않는다. 브라우저 패널이 화면에 보이지
않으면 렌더러가 프레임을 합성하지 않아 매번 타임아웃한다("the Browser pane is
not displayed"). 페이지나 서버의 결함이 아니므로 재시도해도 소용없다.
대신 OS 에 설치된 Chrome 을 1회성 headless 로 돌려 PNG 를 뽑고, 그 파일을 읽어
육안으로 확인한다. 실행 파일 경로는 박지 말고 환경변수로 탐지한다.
PF86="${PROGRAMFILES} (x86)"
for p in "$PROGRAMFILES/Google/Chrome/Application/chrome.exe" \
"$PF86/Google/Chrome/Application/chrome.exe" \
"$LOCALAPPDATA/Google/Chrome/Application/chrome.exe" \
"$PROGRAMFILES/Microsoft/Edge/Application/msedge.exe" \
"$PF86/Microsoft/Edge/Application/msedge.exe"
do [ -f "$p" ] && { BROWSER="$p"; break; }; done
OUTDIR=$(cygpath -w "${TEMP:-/tmp}")
"$BROWSER" --headless --disable-gpu --window-size=1280,900 \
--virtual-time-budget=3000 --screenshot="$OUTDIR\shot.png" "$URL"
지킬 것:
- 저장 경로는 반드시 Windows 절대경로(cygpath -w). POSIX 경로는 조용히 실패한다.
- 실행 파일 경로와 URL 은 따옴표로 감싼다. 안 그러면 # 이하가 주석으로 잘린다.
- 페이지 전체는 --window-size 높이를 크게 잡아 한 장으로 찍는다. URL 프래그먼트로
구간을 나눠 찍으려 하면 스크롤이 안 먹는다.
- 애니메이션·전환·지연 로드가 있는 화면은 회차마다 다르게 찍힌다. video 나 지연
이미지가 빈 칸으로 남기도 하고, 페이드인이 끝나기 전에 찍혀 화면 전체가
반투명하게 저장되기도 한다. --virtual-time-budget 은 이것을 보장하지 않는다.
두 번 찍어 크기가 일치하는지와 정상 하한 이상인지를 함께 본다. 일치만으로는
두 번 연속 실패를 걸러내지 못한다.
- 텍스트·콘솔·네트워크 확인 도구는 그대로 쓴다(get_page_text, read_page,
read_console_messages). 막는 것은 스크린샷 하나다.
- 캡처를 못 했으면 "육안 미확인"이라고 적는다.