개발 도구/AI 코딩 도구

클로드 코드 리모트 컨트롤, 폰에서 노트북 안드 빌드를 제어해본 첫 후기

stackD 2026. 5. 20. 18:00

 

노트북을 한 번도 꺼내지 않고 안드로이드 빌드를 완료했습니다. 가방 안에 그냥 둔 채로 폰으로만 지시했는데, 빌드에 에러 수정까지 됐어요.

 

지난 2월 첫선을 보인 클로드 코드(Claude Code) 리모트 컨트롤(Remote Control) 기능 덕분입니다. v2.1.51 이상 버전에서 쓸 수 있는데요. 노트북에서 클로드 코드 세션을 열어두고 폰으로 그 세션을 원격 조종하는 방식이에요. 지난주 카페에서 처음으로 제대로 써봤는데, 됩니다. 진짜로.

 

클로드 코드 리모트 컨트롤 원리, 폰이 하는 건 아무것도 없습니다

사실 이 기능에서 폰이 담당하는 건 하나도 없습니다. 코드 실행, 빌드, 파일 수정 — 전부 노트북에서 처리됩니다. 폰은 명령을 입력하고 결과를 받아보는 창구 역할만 해요.

 

그래서 정확히 설명하자면, 리모트 컨트롤은 "폰에서 AI를 쓰는 기능"이 아닙니다. "노트북에서 돌아가는 클로드 코드 세션을 폰으로 원격 조종하는 기능"이에요. 노트북이 전원도 켜져 있고 네트워크도 연결돼 있어야 작동하는 건 이 구조 때문입니다.

 

데이터 전송 방식 자체는 단순합니다. 코드나 파일은 로컬에 그대로 두고, 입력한 명령과 결과만 암호화(TLS) 경로로 주고받습니다. 공식 문서 표현을 빌리자면 기존 암호화 전송 경로를 모바일 릴레이까지 확장한 구조로, Anthropic API가 릴레이 역할을 합니다. 인바운드 포트를 따로 열 필요가 없어서, SSH 터널 같은 별도 설정 없이 연결됩니다.

 

연결 자체는 빠릅니다. 노트북 터미널에서 claude remote-control (긴 형태로는 claude --remote-control)을 실행하면 스페이스바를 눌러 QR 코드를 띄울 수 있고, 폰의 클로드 앱으로 스캔하면 끝이에요. 처음 해봤을 때 30초도 안 걸리더라고요.

 

안드로이드 프로젝트 첫 연결 설정, 놓치기 쉬운 한 단계

설정에서 한 단계를 빼먹으면 클로드 코드가 프로젝트 구조를 인식하지 못하는 상황이 생깁니다.

  1. 터미널에서 프로젝트 루트로 이동한 다음 claude를 실행합니다. 폴더 신뢰 여부를 물으면 "yes"를 입력해요.
  2. 같은 터미널에서 claude remote-control을 실행하고 스페이스바를 누르면 QR 코드가 뜹니다. 참고로 이미 세션이 떠 있는 상태라면 그 세션 안에서 /rc 슬래시 명령으로도 전환할 수 있어요. CLI 형태는 새 세션을 시작하고, 슬래시 형태는 현재 대화 이력을 그대로 이어간다는 점이 다릅니다.
  3. 폰의 클로드 앱으로 QR을 스캔하면 연결 완료예요.

연결이 됐을 때 처음으로 한 건 자연어로 명령을 날리는 거였습니다.

안드로이드 프로젝트 빌드해줘

 

이렇게 입력했더니 클로드 코드가 ./gradlew assembleDebug를 실행하고 빌드 로그를 실시간으로 폰 화면에 스트리밍해줬어요. 출력 로그가 제법 길어도 어디서 막히는지 바로 보이거든요.

 

참고로 저는 폴더 신뢰 설정을 프로젝트를 처음 열 때 해두는 습관을 들이고 있어요. 리모트 연결 전마다 확인하는 건 번거롭고, 한 번 해두면 그다음부터는 remote-control 명령만 붙이면 되니까요.

 

 

카페에서 Gradle 빌드를 폰 하나로 돌린 기록

얼마 전 주말에, 노트북을 가방 안에 넣어둔 채 폰으로만 빌드 작업을 해봤습니다. 테이블이 좁기도 했고, 솔직히 어디까지 되는지 궁금하기도 했어요.

최신 커밋 pull 해서 빌드 테스트 돌려줘

 

폰으로 이렇게 입력했더니, 클로드 코드가 git pull부터 ./gradlew assembleDebug까지 순서대로 처리했습니다. Gradle 클린 빌드가 어느 정도냐면, 사이드 프로젝트 규모에서도 2~5분은 걸리는 작업이에요. 그 시간 동안 폰을 테이블에 내려놓고 커피를 마셨습니다.

 

빌드 실패가 한 번 났을 때가 진짜 유용했어요. strings.xml에서 리소스 참조가 어긋난 문제였는데, 폰 화면에서 에러 로그를 확인하고 다음과 같이 바로 입력했습니다.

strings.xml에서 이 에러 수정해줘

 

클로드 코드가 파일을 직접 수정하고 재빌드까지 진행했습니다. 노트북을 한 번도 꺼내지 않은 채로요.

 

푸시 알림도 생각보다 쓸 만하더라고요. 빌드 완료나 제 승인이 필요한 시점(HITL, Human-in-the-Loop 체크포인트)에 폰으로 알림이 옵니다. 단, 안드로이드에서는 배터리 최적화 예외 처리를 미리 해줘야 합니다. 그 설정을 빼먹으면 알림이 늦게 오거나 아예 안 오는 경우가 생겨요.

 

 

세션 타임아웃 10분과 승인 피로, 직접 겪은 한계들

이 기능에서 가장 크게 걸린 건 세션 안정성이었습니다.

 

공식 문서상으로는 노트북이 절전에 들어가거나 네트워크가 잠깐 끊겨도 머신이 돌아오면 세션이 자동으로 재연결되는 것으로 돼 있습니다. 다만 단절이 10분 이상 이어지면 타임아웃이 걸리고, 그때부터는 QR 스캔부터 다시 시작해야 해요. 그날 카페 와이파이가 불안정해졌을 때가 정확히 그 상황이었습니다. 빌드 중간에 이걸 겪으면 노트북은 혼자 작업을 계속하지만 폰에서는 더 이상 로그를 볼 수 없습니다. 두 번 겪었고, 두 번 다 결국 노트북을 꺼내서 직접 확인했습니다. (참고로 GitHub 이슈 트래커에는 10분 안쪽에서도 자동 재연결이 실패하는 버그가 다수 올라와 있더라고요.)

 

승인 요청이 반복되는 것도 피로감이 있었어요. 파일 수정이나 명령 실행 전에 폰 화면에 "허용하시겠습니까?" 팝업이 계속 올라오는데, 빌드 한 사이클 안에서도 여러 번 나올 수 있습니다. 처음엔 하나하나 확인했는데, 반복이 쌓이다 보니 나중엔 내용을 제대로 안 읽고 누르는 일이 생겼어요. 위험한 명령을 무심코 허용할 수 있는 구조라는 점은 미리 인식하고 쓰는 게 좋습니다.

 

노트북 절전 모드 진입도 주의해야 합니다. 클라우드 빌드가 아니라 순수 로컬 실행이라, 노트북 전원이 유지되고 네트워크도 살아있어야 한다는 전제가 항상 붙어요.

 

 

CI/CD 없는 사이드 프로젝트에서 리모트 컨트롤이 맞는 시점

SSH + tmux 조합으로도 이 작업은 원래부터 가능했습니다. 안정성 기준으로 보면 SSH 기반 방식이 더 성숙한 선택지일 수 있어요. 세션 재연결이 유연하고, 네트워크 단절에도 tmux가 버텨주니까요.

 

리모트 컨트롤이 차별화되는 지점은 자연어 명령입니다. 빌드 로그를 보면서 다음처럼 입력하면,

이 에러 원인이 뭔 것 같아? 고쳐봐

 

클로드 코드가 분석부터 수정까지 전부 처리해요. SSH로 터미널에 직접 붙으면 이 과정은 제가 직접 해야 하거든요.

 

최근 추가된 자율 반복 기능인 /loop 명령도 흥미롭습니다. 완료 조건(Task Budgets 같은 한도 설정 포함)을 미리 정해두면 며칠 단위 자율 작업이 가능하다고 해요. 야간에 빌드·테스트 사이클을 자동으로 돌리는 식으로 활용할 수 있습니다. 저는 아직 써보지 않았는데, 다음에 긴 리팩토링 작업이 생기면 시도해볼 계획입니다.

 

쓸 만한 조건을 정리해보면 이렇습니다. CI/CD를 따로 구축하지 않은 사이드 프로젝트, 빌드 시간이 길어서 노트북 앞에 계속 앉아있기 부담스러운 상황, 폰만 꺼내기 편한 자리 — 이 세 가지가 겹칠 때입니다.

 

마치며

한 가지 조건이 있어요. Pro나 Max 플랜이어야 쓸 수 있고, API 키 방식으로는 연결이 안 됩니다. ANTHROPIC_API_KEY 환경변수가 잡혀 있으면 구독 인증을 무시해버리는 동작까지 있으니, 시도해보기 전에 플랜과 환경변수부터 확인하시는 게 좋아요.

 

세팅 30초, 타임아웃 10분, 빌드 한 사이클. 첫날 카페에서 손에 쥔 숫자는 결국 이 셋이 전부였습니다.

 

#클로드코드 #RemoteControl #안드로이드빌드 #모바일개발 #사이드프로젝트 #AI코딩