
노트북 없이도 개발이 가능할까요?
이 글은 스마트폰만으로 Claude Code 에이전트를 병렬 실행하며 실제 개발 작업을 수행하는 모바일 개발 환경 구성 사례를 정리한 글입니다. Termius, mosh, Tailscale VPN, Vultr VM을 조합해 이동 중이나 짧은 대기 시간에도 PR 리뷰, 리팩터링, 버그 수정까지 가능한 환경을 어떻게 구현했는지 단계별로 살펴봅니다.
특히 비동기 개발을 가능하게 하는 tmux 세션 유지와 푸시 알림 기반 상호작용 구조, 그리고 이를 안전하게 뒷받침하는 보안 모델가 핵심입니다.
Claude Code On-The-Go란 무엇인가
Claude Code On-The-Go는 스마트폰을 개발 터미널로 활용해, 원격 VM에서 실행 중인 Claude Code가 실제 개발 작업을 수행하도록 구성한 모바일 개발 워크플로우입니다.
이 환경의 목표는 단순합니다.
- 노트북 없이도 개발 가능
- 이동 중, 대기 중에도 작업 지속
- Claude가 작업하는 동안 사용자는 비동기적으로 대응
이를 위해 모든 연산과 개발 작업은 클라우드 VM에서 처리하고, 스마트폰은 접속과 상호작용의 역할만 담당합니다.
전체 구성 개요
전체 구조는 다음과 같은 흐름으로 구성됩니다.
- 스마트폰에서 Termius 앱 실행
- mosh를 사용해 Tailscale VPN을 거쳐 Vultr VM 접속
- VM 내부에서 Claude Code 실행
- Claude가 사용자 입력이 필요할 경우
- PreToolUse hook이 실행
- Poke 웹훅으로 푸시 알림 전송
- 사용자는 알림을 받고 질문에 응답
- 다시 Claude 작업 진행
이 구조를 통해 터미널을 계속 열어두지 않아도 되는 비동기 개발 루프가 완성됩니다.
인프라 구성과 비용 구조
Vultr VM 설정
- 리전: 실리콘밸리
- 사양: vhf-8c-32gb
- 비용: 시간당 $0.29 (하루 약 $7)
VM은 필요할 때만 실행되도록 구성되어 비용 리스크를 최소화합니다.
자동화 포인트
- vm-start, vm-stop 스크립트로 VM 제어
- iOS 단축어를 통해 Vultr API 호출 → 스마트폰에서 VM 직접 시작 가능
보안을 고려한 접근 구조
이 환경은 모바일 접근임에도 불구하고 다중 보안 계층을 갖고 있습니다.
- Tailscale 전용 접근
- SSH 퍼블릭 포트 차단
- 클라우드 방화벽
- nftables
- fail2ban
Claude Code는 permissive 모드로 실행되지만,
VM 자체가 격리되어 있어 프로덕션 시스템에는 접근하지 못합니다.
문제가 발생하면 VM을 폐기하면 되기 때문에 리스크도 제한적입니다.
모바일 터미널 환경의 핵심: Termius + mosh
왜 mosh인가
mosh는 네트워크 전환에도 세션을 유지합니다.
- Wi-Fi ↔ 셀룰러 전환
- 스마트폰 절전 모드 진입
이 상황에서도 연결이 끊기지 않아 이동 중 사용에 최적화되어 있습니다.
mosh --ssh="ssh -p 47892" [email protected]
한계점
- SSH agent 포워딩 미지원
- GitHub 인증이 필요한 작업은 tmux 내에서 일반 SSH 사용 필요
tmux로 완성하는 세션 지속성
VM 로그인 시 자동으로 tmux 세션에 연결되도록 .zshrc를 설정합니다.
- Termius 앱을 종료했다가 다시 열어도 세션 유지
- Claude 에이전트를 tmux 창 단위로 병렬 실행
주요 단축키 예시
- C-a c: 새 창 생성
- C-a n: 다음 창 이동
이 구조 덕분에 최대 6개의 Claude Code 에이전트를 동시에 운용할 수 있습니다.
푸시 알림 기반 비동기 개발
Claude Code가 사용자에게 질문을 해야 할 때,
AskUserQuestion 이벤트가 발생합니다.
이때 동작 흐름은 다음과 같습니다.
- PreToolUse hook 실행
- poke-notify.sh 스크립트 실행
- 질문 내용 추출
- Poke 웹훅으로 POST 요청
- 스마트폰에 푸시 알림 도착
결과적으로 사용자는 터미널을 계속 확인할 필요 없이,
알림이 왔을 때만 응답하면 됩니다.
병렬 개발 구조와 Git worktree 활용
여러 기능을 동시에 개발하기 위해 Git worktree를 사용합니다.
예시 브랜치 구조
- myproject-sidebar
- myproject-dark-mode
각 worktree는
- 독립된 tmux 창
- 독립된 Claude 에이전트
포트 충돌을 방지하기 위해 브랜치명 해시 기반으로 포트를 계산합니다.
django_port = 8001 + (hash_val % 99)
실제 활용 시나리오
이 환경은 다음과 같은 상황에서 특히 효과적입니다.
- 커피를 기다리는 짧은 시간
- 이동 중 대중교통 안
- 노트북을 꺼내기 애매한 상황
Claude가 10~20분 동안 작업을 수행하는 동안
사용자는 다른 일을 하다가
알림을 받고 응답 → 다시 작업 진행이라는 흐름이 자연스럽게 이어집니다.
구성 요소 한눈에 보기
- Vultr: 시간당 $0.29의 클라우드 VM
- Tailscale: 사설 네트워크 기반 안전한 접근
- Termius: 모바일 SSH 클라이언트
- mosh: 네트워크 복원력 있는 셸
- tmux: 세션 지속성 유지
- Poke: 웹훅 기반 푸시 알림
- Claude Code: 실제 개발 작업 수행
모바일 개발의 현실적인 가능성
이 사례는 단순한 실험이 아니라,
스마트폰만으로도 완전한 개발 주기를 수행할 수 있음을 증명한 구성입니다.
- 하나의 Claude Code 세션으로 전체 환경 구축 가능
- Vultr API 키와 GitHub 접근 권한만 제공하면 자동 구성
- 이동성과 효율성을 동시에 확보
노트북이 필수라는 고정관념을 깨고,
언제 어디서나 개발이 가능한 환경을 현실적으로 구현한 사례라는 점에서 의미가 큽니다.
https://granda.org/en/2026/01/02/claude-code-on-the-go/
Claude Code On-The-Go
Ideas and notes
granda.org

'인공지능' 카테고리의 다른 글
| AI 시대의 코드 리뷰: 자동화가 가속한 개발, 책임은 어디에 있는가 (0) | 2026.01.07 |
|---|---|
| 온디바이스 AI를 위한 차세대 모델 LFM2.5 기술 정리 (0) | 2026.01.07 |
| Apple Silicon Mac에서 LLM 파인튜닝하기: Unsloth-MLX 완전 정리 (0) | 2026.01.06 |
| Agent Zero란 무엇인가? - 유기적으로 성장하는 개인용 에이전틱 프레임워크 정리 (0) | 2026.01.06 |
| LTX-2란 무엇인가? 오디오·비디오를 동시에 생성하는 오픈소스 Diffusion 기반 파운데이션 모델 (0) | 2026.01.06 |