Claude Code를 두 가지 방식으로 쓸 수 있음. 터미널에서 claude 명령으로 실행하거나, Claude 데스크탑 앱의 Claude Code 탭에서 GUI로 실행하거나. 처음에는 둘이 완전히 다른 도구라고 생각했는데, 실제로 디스크 구조를 까보니 같은 엔진이 다른 UI로 실행되는 것에 가까웠음. 정리해서 공유함.
두 환경은 같은 Claude Code 엔진을 공유함. 버전만 약간 다를 수 있음(앱은 번들된 버전, 터미널은 별도 설치).
확인 방법:
# 터미널 버전
which claude
# /Users/choi/.local/bin/claude
claude --version
# 2.1.145 (Claude Code)
# 앱이 번들한 Claude Code
ls ~/Library/Application\ Support/Claude/claude-code/
# 2.1.142 ← 앱 안에 Claude Code가 통째로 들어 있음
즉 앱은 Claude Code를 내장해서 GUI로 감싸 보여줄 뿐이고, 본질은 같음.
~/.claude/ 디렉토리 공유가장 중요한 부분. 두 환경 모두 ~/.claude/ 를 똑같이 읽고 씀. 한쪽에서 만든 설정이 다른 쪽에 그대로 적용됨.
~/.claude/
├── CLAUDE.md ← 전역 규칙 (양쪽 동일하게 로드)
├── settings.json ← 설정 (양쪽 공유)
├── projects/
│ └── -Users-choi-Developer-dev-nobiya/
│ └── memory/ ← 자동 메모리 (양쪽 공유)
├── plugins/ ← 플러그인
└── sessions/ ← 터미널 세션
따라서 다음은 양쪽에서 동일하게 동작함:
~/.claude/CLAUDE.md (전역 규칙)CLAUDE.md (프로젝트 규칙)~/.claude/projects/{경로}/memory/)즉 터미널에서 정한 규칙을 앱에서도 그대로 쓸 수 있고, 반대도 마찬가지임. 메모리도 한쪽에서 쌓이면 다른 쪽에서 자동으로 로드됨.
| 항목 | 터미널 | 앱 |
|---|---|---|
| 화면 | 텍스트 (ANSI) | GUI (네이티브 윈도우) |
| 파일 트리 | X (명령어로 ls) | O (사이드바) |
| 다이어그램 / 이미지 미리보기 | 제한적 | O |
| 키바인딩 / 단축키 | 터미널 기본 | 앱 단축키 (Cmd+K 등) |
| 멀티 탭 | tmux 등 외부 도구 | 앱 자체 지원 |
이건 분리되어 있음:
| 환경 | 세션 저장 위치 |
|---|---|
| 터미널 | ~/.claude/sessions/ |
| 앱 | ~/Library/Application Support/Claude/claude-code-sessions/ |
같은 작업을 양쪽에서 하면 세션 히스토리는 따로 쌓임. 다만 메모리·규칙은 공유되므로 컨텍스트 자체는 이어서 사용 가능.
같은 ~/.claude/CLAUDE.md를 양쪽이 읽으므로 중복 작성 불필요함. 프로젝트 규칙도 마찬가지로 프로젝트 루트의 CLAUDE.md 하나면 됨.
앱에서 작업하면서 쌓인 메모리가 터미널에도, 또 그 반대도 자동 반영. 사용자가 직접 옮길 필요 없음.
| 상황 | 추천 환경 |
|---|---|
| 원격 서버 / SSH / tmux 작업 | 터미널 |
| 빠른 명령어 위주 작업 | 터미널 |
| 이미지·다이어그램 다루는 작업 | 앱 |
| 파일 트리 보면서 탐색하고 싶을 때 | 앱 |
| 모바일 / 다른 기기와 연동 | 앱 |
| 멀티 프로젝트 동시 작업 (탭) | 앱 |
CLAUDE.md를 프로젝트 루트에 두고 git으로 커밋해두면 팀원이 어느 환경에서 Claude Code를 쓰든 같은 규칙으로 동작함. 환경별로 따로 공유할 필요 없음.
~/.claude/ 디렉토리를 공유하므로 CLAUDE.md·메모리·Skills 모두 자동으로 양쪽에 적용됨처음에는 별개의 도구처럼 보이지만, 실제로는 하나의 Claude Code를 두 가지 방식으로 띄운 것에 가까움. 환경에 맞춰 골라 쓰되, 규칙·메모리 관리는 한 곳에서 하면 됨.