📋 목차
- 개요
- Teleport 기능 (웹→CLI)
- 백그라운드 작업 관리
- 실전 활용 사례
- 문제 해결
- 제한사항 및 주의사항
개요
Claude Code는 웹 인터페이스와 로컬 CLI 간의 원활한 작업 전환을 지원하여 개발자의 생산성을 극대화합니다. 이 가이드에서는 세션 전환 및 백그라운드 작업 관리 기능을 상세히 다룹니다.
지원되는 기능
| 기능 | 방향 | 상태 |
|---|
| Teleport | 웹 → CLI | ✅ 공식 지원 |
| Session Transfer | CLI → 웹 | ⚠️ 미지원 (Feature Request 진행 중) |
| Background Tasks | 양방향 | ✅ 공식 지원 |
Teleport 기능 (웹→CLI)
개념
Teleport는 웹 브라우저에서 시작한 Claude Code 세션을 로컬 터미널로 가져오는 기능입니다. 채팅 기록, 편집된 파일, 작업 컨텍스트가 모두 보존됩니다.
사용 방법
1단계: 웹에서 세션 시작
- claude.ai/code에 접속
- GitHub 저장소 연결 또는 새 프로젝트 시작
- 작업 진행
2단계: “Open in CLI” 버튼 클릭
웹 인터페이스에서 “Open in CLI” 또는 “Move to CLI” 버튼을 클릭하면 다음과 같은 명령어가 표시됩니다:
1
| claude --teleport session_XXXXXXXXXXXX
|
3단계: 로컬에서 명령 실행
로컬 터미널에서 복사한 명령어를 실행합니다:
1
2
3
4
5
6
| # 기본 사용법
claude --teleport session_011CUpE6ZSg5RQbETyMDpZha
# 특정 디렉토리에서 실행
cd /path/to/project
claude --teleport session_011CUpE6ZSg5RQbETyMDpZha
|
전송되는 데이터
Teleport 시 다음 정보가 전송됩니다:
- ✅ 채팅 대화 기록
- ✅ 편집된 파일 목록 및 내용
- ✅ 프로젝트 컨텍스트
- ✅ Git 브랜치 정보
- ⚠️ 백그라운드 작업 (부분 지원)
- ❌ 실시간 추가 프롬프트 (알려진 버그)
고급 사용 예시
1
2
3
4
5
6
7
8
| # 1. 웹에서 긴 분석 작업 시작
# → Claude.ai/code에서 "전체 코드베이스 분석하고 문서 생성" 요청
# 2. 작업 중 로컬로 전환
claude --teleport session_abc123def456
# 3. 로컬에서 계속 작업
# → 분석 결과를 검토하고 추가 수정 진행
|
백그라운드 작업 관리
Ctrl+B를 사용한 백그라운드 실행
Claude Code가 명령을 실행할 때 Ctrl+B를 눌러 백그라운드로 전환할 수 있습니다.
기본 사용법
1
2
3
4
5
6
7
8
9
10
11
| # 1. 명령 실행 요청
> "npm run dev를 실행해줘"
# 2. Claude가 명령 실행 시작
# → Bash 도구 호출 중
# 3. Ctrl+B 입력
# → 백그라운드로 전환됨 (bash_1)
# 4. 계속 작업 가능
> "새로운 컴포넌트 만들어줘"
|
Tmux 사용자: Tmux의 prefix key 충돌 때문에 Ctrl+B를 두 번 눌러야 합니다.
백그라운드 작업 모니터링
/bashes 명령어
모든 백그라운드 작업을 확인할 수 있습니다:
출력 예시:
1
2
3
4
5
6
| Background Tasks:
─────────────────────────────────────
ID Status Command Runtime
bash_1 running npm run dev 00:05:23
bash_2 completed npm run build 00:02:15
bash_3 failed npm test 00:00:43
|
BashOutput 도구로 출력 확인
Claude에게 특정 백그라운드 작업의 출력을 요청할 수 있습니다:
1
2
3
4
5
6
7
8
| # 방법 1: 직접 요청
> "bash_1의 출력 보여줘"
# 방법 2: 에러 확인
> "bash_3에 에러가 있는지 확인해줘"
# 방법 3: 전체 상태 확인
> "모든 백그라운드 작업 상태 알려줘"
|
백그라운드 작업 종료
1
2
3
4
5
| # 방법 1: 키보드 단축키
# → K 키를 눌러 선택적으로 종료
# 방법 2: Claude에게 요청
> "bash_1을 종료해줘"
|
자동 백그라운드 실행 설정
CLAUDE.md 설정
프로젝트의 .claude/CLAUDE.md 파일에 자동 백그라운드 규칙을 정의할 수 있습니다:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| # 프로젝트 개발 가이드라인
## 명령 실행 규칙
### 항상 백그라운드에서 실행:
- `npm run dev` - 프론트엔드 개발 서버
- `npm run api` - API 개발 서버
- `docker-compose up` - 로컬 서비스
- `npm run watch` - 파일 감시기
- `--watch` 플래그가 있는 모든 명령
### 백그라운드 모니터링:
백그라운드 작업 시작 후 주기적으로 BashOutput으로 상태를 확인하세요.
백그라운드 작업이 실패하거나 중단되면 알림을 표시하세요.
### 예시 워크플로우:
1. 개발 서버 시작 → 백그라운드로 실행
2. 주기적으로 로그 확인
3. 에러 발생 시 즉시 알림
4. 작업 완료 시 백그라운드 작업 정리
|
환경 변수 설정
1
2
3
4
5
| # 장기 실행 작업 자동 백그라운드화
export FORCE_AUTO_BACKGROUND_TASKS=true
# Unified Read Tool 활성화
export CLAUDE_CODE_ENABLE_UNIFIED_READ_TOOL=true
|
Bash 모드 (! prefix)
Claude의 승인 없이 직접 명령을 실행할 수 있습니다:
1
2
3
4
5
6
7
8
| # 기본 사용법
! npm test
! git status
! ls -la
# 백그라운드 실행 (Ctrl+B)
! npm run dev
# → Ctrl+B 눌러서 백그라운드로 전환
|
실전 활용 사례
사례 1: 병렬 개발 워크플로우
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| # 웹에서 시작
# 1. GitHub 저장소 연결
# 2. "전체 아키텍처 리뷰하고 개선 제안해줘" 요청
# 리뷰 진행 중 로컬로 전환
claude --teleport session_abc123
# 로컬에서 병렬 작업
> "백엔드 API 개발 시작해줘"
# → bash_1: npm run api (백그라운드)
> "프론트엔드 개발 환경 설정해줘"
# → bash_2: npm run dev (백그라운드)
> "데이터베이스 마이그레이션 실행해줘"
# → bash_3: npm run migrate
|
사례 2: 긴 빌드 프로세스 관리
1
2
3
4
5
6
7
8
9
10
11
12
| # 1. 빌드 시작
> "프로덕션 빌드 실행해줘"
# → Claude가 docker build 시작
# 2. Ctrl+B로 백그라운드 전환
# 3. 다른 작업 진행
> "테스트 코드 리팩토링해줘"
# (빌드는 백그라운드에서 계속 실행됨)
# 4. 빌드 완료 확인
> "bash_1 빌드 완료됐는지 확인해줘"
|
사례 3: 모바일에서 시작, 데스크톱에서 완료
1
2
3
4
5
6
7
| # 모바일 (출퇴근 중)
# 1. Claude.ai/code 앱에서 버그 수정 시작
# 2. "Open in CLI" 링크 복사
# 데스크톱 (사무실 도착 후)
claude --teleport session_mobile123
# → 모바일에서 시작한 작업 계속 진행
|
사례 4: 여러 프로젝트 동시 관리
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| # 터미널 1: 프로젝트 A
cd ~/projects/frontend
claude --teleport session_frontend_xyz
> "React 컴포넌트 최적화 계속해줘"
# 터미널 2: 프로젝트 B
cd ~/projects/backend
claude --teleport session_backend_abc
> "API 성능 테스트 결과 분석해줘"
# 터미널 3: 프로젝트 C
cd ~/projects/microservice
claude
> "새로운 마이크로서비스 개발 시작"
|
문제 해결
일반적인 오류 및 해결 방법
원인:
- 만료된 세션 ID
- 네트워크 연결 문제
- OAuth 토큰 만료
해결 방법:
1
2
3
4
5
6
7
8
9
| # 1. OAuth 토큰 갱신
claude logout
claude login
# 2. 새로운 세션 ID로 재시도
# 웹에서 "Open in CLI" 다시 클릭
# 3. 네트워크 확인
curl -I https://api.anthropic.com
|
원인:
해결 방법:
1
2
3
4
5
6
7
8
9
10
| # 1. /rewind 명령 사용
/rewind
# 2. 세션 재시작이 필요한 경우
/clear
> "이전 작업 컨텍스트 다시 로드해줘"
# 3. 심각한 경우: 새 세션 시작
exit
claude
|
3. Git 브랜치 불일치
원인:
해결 방법:
1
2
3
4
5
6
7
8
9
10
11
| # 1. 웹 세션에서 생성된 브랜치 확인
git branch -a
# 2. 원격 브랜치 fetch
git fetch origin
# 3. 해당 브랜치로 체크아웃
git checkout feature/web-session-branch
# 4. teleport 재시도
claude --teleport session_xyz
|
4. 터미널 화면 지워짐 (Clear on Failure)
원인:
- Teleport 실패 시 터미널이 자동으로 지워짐
해결 방법:
1
2
3
4
5
6
| # 1. 에러 메시지 보존하려면
claude --teleport session_xyz 2>&1 | tee teleport.log
# 2. Git 브랜치 수동 체크아웃 후 재시도
git checkout <branch-name>
claude --teleport session_xyz
|
5. 후속 프롬프트 누락
알려진 버그:
- 웹에서 작업 중 추가한 프롬프트가 teleport 시 누락됨
임시 해결책:
1
2
3
| # 1. 웹에서 중요한 프롬프트를 문서화
# 2. Teleport 후 수동으로 다시 입력
> "이전에 요청한 '보안 감사 추가' 작업 계속해줘"
|
디버깅 팁
1. 상세 로그 활성화
1
2
3
4
5
6
7
8
| # 실행 전 환경 변수 설정
export CLAUDE_CODE_LOG_LEVEL=debug
# Teleport 실행
claude --teleport session_xyz
# 로그 파일 확인
cat ~/.claude/logs/claude-code.log
|
2. 네트워크 트래픽 검사
1
2
3
4
5
| # 프록시 설정으로 트래픽 확인
export HTTPS_PROXY=http://localhost:8080
export HTTP_PROXY=http://localhost:8080
claude --teleport session_xyz
|
3. 세션 상태 직접 확인 (비공식)
1
2
3
| # 세션 메타데이터 API 호출
curl -H "Authorization: Bearer $ANTHROPIC_API_KEY" \
https://api.anthropic.com/v1/session_ingress/session/SESSION_ID
|
제한사항 및 주의사항
Teleport 제한사항
| 제한사항 | 설명 | 영향 |
|---|
| 단방향만 지원 | 웹→CLI만 가능, CLI→웹 불가 | 로컬 작업을 웹으로 넘길 수 없음 |
| 실시간 프롬프트 누락 | 작업 중 추가한 프롬프트가 누락될 수 있음 | 중요 지시사항 재입력 필요 |
| 브랜치 동기화 필요 | Git 브랜치가 로컬에 없으면 실패 | fetch 후 재시도 필요 |
| 백그라운드 작업 불완전 | 일부 백그라운드 작업이 전송 안 됨 | 수동 재시작 필요 |
백그라운드 작업 제한사항
| 제한사항 | 설명 | 해결 방법 |
|---|
| 세션 종료 시 작업 종료 | Claude Code 종료 시 백그라운드 작업도 종료 | Tmux/Screen 사용 권장 |
| 출력 버퍼링 | 실시간 스트리밍 아닌 버퍼링된 출력 | 주기적으로 BashOutput 호출 |
| 로그 손실 위험 | 장시간 실행 시 초기 로그 손실 가능 | 파일로 로그 리다이렉션 |
보안 고려사항
1
2
3
4
5
6
7
8
9
10
11
12
| # 1. 민감한 정보 제외
# .gitignore에 추가
.claude/secrets/
*.key
*.pem
# 2. API 키 환경 변수 사용
export ANTHROPIC_API_KEY="your-api-key"
# 직접 코드에 입력하지 말 것
# 3. 프록시 설정 시 주의
# HTTPS_PROXY 설정 시 트래픽이 노출될 수 있음
|
성능 최적화
1
2
3
4
5
6
7
8
9
10
11
| # 1. 타임아웃 증가 (긴 작업용)
export MCP_TOOL_TIMEOUT=300000
export BASH_MAX_TIMEOUT_MS=600000
# 2. 컨텍스트 윈도우 관리
# 긴 세션의 경우 주기적으로 /clear
/clear
> "이전 작업 요약: [요약 내용]"
# 3. 체크포인트 활용
# Esc+Esc로 주요 시점에 체크포인트 생성
|
모범 사례
1. Git을 적극 활용
1
2
3
4
5
6
7
8
9
| # Teleport 전후 커밋
git add .
git commit -m "Before teleport - web session work"
claude --teleport session_xyz
# 로컬 작업 후 커밋
git add .
git commit -m "After teleport - local modifications"
|
2. 문서화 습관
```markdown