터미널에서 클로드 코드에게 큰 작업을 맡겨두고 자리를 떠야 하는 순간, 다들 한 번쯤 겪어보셨을 겁니다. 랩탑을 들고 다니거나 SSH 터널을 억지로 뚫는 대신, 폰 하나로 그 세션을 그대로 이어받을 수 있다면 어떨까요. 클로드 코드의 리모트 컨트롤(Remote Control, 단축 명령어 /rc) 기능이 바로 이 문제를 해결해줍니다.
이 글에서는 리모트 컨트롤이 정확히 무엇인지, 어떻게 켜는지, 그리고 실제 운영 서버 환경에서 세션을 안전하게 유지하고 다시 접속하는 방법까지 실무 관점에서 정리합니다.
클로드 코드 리모트 컨트롤이란
리모트 컨트롤은 로컬 터미널에서 돌아가고 있는 클로드 코드 세션을 폰, 태블릿, 다른 브라우저에서 그대로 이어받아 조작할 수 있게 해주는 기능입니다. 여기서 핵심은 “코드 실행과 파일시스템 접근은 계속 로컬 머신에서 이루어진다”는 점입니다. 즉 클라우드로 코드가 넘어가는 방식이 아니라, 로컬에서 돌아가는 세션에 원격 기기가 창문처럼 붙는 구조입니다.
이 때문에 다음과 같은 요소가 원격에서도 그대로 유지됩니다.
- 로컬 파일시스템 전체 접근
- 연결해둔 MCP 서버
- 프로젝트별 설정(예: CLAUDE.md, 권한 설정 등)
클라우드 기반 코딩 어시스턴트와 가장 큰 차이가 바로 이 부분입니다. 로컬 실행이라는 장점을 유지하면서도, 물리적으로 책상에 묶여 있어야 한다는 단점만 없앤 셈입니다.
리모트 컨트롤을 켜는 세 가지 방법
리모트 컨트롤은 상황에 따라 세 가지 방식으로 시작할 수 있습니다.
첫째, 이미 실행 중인 세션에서 슬래시 명령어를 쓰는 방법입니다.
대화 중간에 /rc 또는 /remote-control을 입력하면, 지금까지의 대화 기록을 그대로 유지한 채 원격 접속용 세션 URL과 QR코드가 표시됩니다. 로컬 터미널에서 계속 타이핑도 가능합니다.
둘째, 처음부터 원격 대응 세션으로 시작하는 방법입니다.
claude --remote-control 또는 짧게 claude --rc로 실행하면, 일반 대화형 세션이지만 처음부터 원격 기기에서 붙을 수 있는 상태로 시작됩니다. 이름을 붙이고 싶다면 claude --remote-control "프로젝트명"처럼 인자를 추가하면 됩니다.
셋째, 서버 모드로 시작하는 방법입니다.
claude remote-control을 인자 없이 실행하면 로컬 입력 없이 원격 연결만 받는 서버 모드로 동작합니다. 이 모드는 여러 개의 원격 세션을 동시에 처리할 수 있다는 점이 특징이며, 기본적으로 최대 32개의 동시 세션을 지원합니다.
VS Code 확장을 쓰는 경우에는 프롬프트 창에 /remote-control 또는 /rc를 입력하거나, 명령어 팔레트에서 슬래시 메뉴를 열어 선택하는 방식으로도 동일하게 사용할 수 있습니다.
서버 모드의 세션 분리 옵션 (–spawn)
여러 작업을 동시에 돌리고 싶다면 서버 모드의 --spawn 옵션을 눈여겨봐야 합니다.
--spawn same-dir(기본값): 모든 원격 세션이 같은 작업 디렉토리를 공유합니다. 세션이 하나뿐이거나 순차적으로 작업할 때는 문제가 없지만, 여러 세션이 동시에 같은 파일을 건드리면 충돌이 발생할 수 있습니다.--spawn worktree: 원격 연결마다 자체 깃 워크트리를 새로 만들어줍니다. 같은 저장소 안에서 여러 작업을 병렬로 돌려야 할 때 파일 충돌을 막는 방식입니다. 단, 프로젝트가 깃 저장소여야 동작합니다.--spawn session: 단일 세션 모드로, 추가 연결을 거부합니다. 시작 시점에만 설정할 수 있습니다.
실행 중에는 w 키를 눌러 same-dir과 worktree 모드를 즉석에서 전환할 수 있고, 동시 세션 수는 --capacity <숫자> 옵션으로 조정 가능합니다.
완전한 백그라운드 데몬은 아니다 — tmux로 세션 유지하기
여기서 실무에 가장 중요한 포인트를 짚어야 합니다. 리모트 컨트롤은 systemd 서비스처럼 완전히 독립된 백그라운드 데몬으로 동작하지 않습니다. 어디까지나 로컬 프로세스이기 때문에, 터미널 창을 닫거나 SSH 연결이 끊기면 프로세스 자체가 종료되면서 원격 세션도 함께 끊어집니다.
원격 서버(예: 클라우드 VM)에서 리모트 컨트롤을 안정적으로 띄워두려면, 터미널 멀티플렉서인 tmux나 screen 안에서 실행하는 방식이 사실상 표준적인 해결책입니다.
# tmux 세션 생성
tmux new -s claude
# 프로젝트 디렉토리로 이동 후 리모트 컨트롤 실행
cd ~/projects/my-app
claude remote-control
# Ctrl-b, d 로 detach (세션은 백그라운드에서 계속 유지됨)
이렇게 하면 SSH 접속을 끊어도 tmux 안에서 돌아가는 claude remote-control 프로세스는 계속 살아있고, 폰에서는 언제든 다시 접속해 진행 상황을 확인하거나 파일 변경을 승인/거부할 수 있습니다.
tmux 세션에 다시 접속하는 방법
한 번 detach했던 세션에 다시 붙는 방법은 간단합니다.
# 세션 이름을 정확히 알고 있을 때
tmux attach -t claude
# 짧게 쓰고 싶다면
tmux a -t claude
세션 이름이 기억나지 않는다면 먼저 목록을 확인하면 됩니다.
tmux ls
출력된 이름 중 원하는 세션으로 접속하면, detach 시점 그대로 화면이 복원되면서 리모트 컨트롤 프로세스도 계속 이어집니다. SSH로 서버에 새로 접속했을 때의 전체 흐름은 다음과 같습니다.
ssh 서버주소
tmux ls
tmux attach -t claude
플랜별 사용 가능 여부와 로그인 조건
리모트 컨트롤은 Pro, Max, Team, Enterprise 플랜에서 사용할 수 있습니다. 다만 Team과 Enterprise 플랜에서는 기본적으로 꺼져 있으며, 조직의 관리자(Owner)가 클로드 코드 관리자 설정에서 리모트 컨트롤 토글을 켜야 사용할 수 있습니다.
로그인은 claude.ai OAuth 방식(/login)만 지원되며, API 키나 장기 토큰 기반 인증으로는 리모트 컨트롤을 사용할 수 없습니다. 또한 커스텀 API 엔드포인트나 일부 클라우드 플랫폼 연동 환경에서는 지원되지 않으므로, 사내 인프라에서 별도의 API 게이트웨이를 쓰고 있다면 미리 확인이 필요합니다.
자주 묻는 질문 (FAQ)
Q. 리모트 컨트롤과 클라우드 기반 원격 실행은 뭐가 다른가요?
가장 큰 차이는 코드 실행 위치입니다. 리모트 컨트롤은 코드가 항상 로컬 머신에서 실행되고, 원격 기기는 그 세션을 보고 조작하는 창구 역할만 합니다. 반대로 클라우드에서 세션을 시작해 로컬로 가져오는 방식은 실행 주체 자체가 다릅니다.
Q. 포트포워딩이나 방화벽 설정이 따로 필요한가요?
필요하지 않습니다. 로컬 세션이 아웃바운드 방향으로만 연결을 맺는 구조이기 때문에, 별도의 인바운드 포트 개방 없이도 동작합니다.
Q. 터미널을 실수로 닫으면 작업 내용이 사라지나요?
진행 중이던 대화 자체는 사라지지 않지만, 리모트 컨트롤 연결은 즉시 끊깁니다. tmux나 screen 안에서 실행해두면 터미널 창을 닫아도 내부 프로세스는 유지되므로 이런 상황을 예방할 수 있습니다.
Q. 여러 작업을 동시에 폰과 PC에서 각각 다르게 진행할 수 있나요?
서버 모드에서 --spawn worktree 옵션을 쓰면 원격 연결마다 독립된 작업 공간이 생기기 때문에, 서로 다른 작업을 동시에 충돌 없이 진행할 수 있습니다.
마무리
리모트 컨트롤은 클로드 코드가 가진 “로컬 실행”이라는 강점을 그대로 유지하면서, 자리를 비워도 작업을 이어갈 수 있게 해주는 실용적인 기능입니다. 다만 완전한 백그라운드 데몬이 아니라 로컬 프로세스라는 점을 이해하고, 운영 서버 환경이라면 tmux 같은 세션 유지 도구와 함께 쓰는 것이 안정적인 운용의 핵심입니다.
- 대화 중
/rc, 또는claude --remote-control,claude remote-control로 세 가지 방식 중 상황에 맞게 시작할 수 있습니다. - 서버 환경에서는 tmux/screen 안에서 실행해야 연결이 끊겨도 세션이 유지됩니다.
- 다시 접속할 땐
tmux attach -t <세션이름>한 줄이면 충분합니다.