
Show GN: 노트북 덮어도 안 죽는 Claude CLI 멀티세션 웹 터미널
Claude CLI를 매일 쓰는 개발자라면 한 가지 불편함에 익숙할 것이다. 터미널 창을 여러 개 띄워 놓으면 금방 꼬이고, 노트북을 덮으면 세션이 끊어지며, SSH 연결이 끊기면 모든 작업이 증발한다. 이 문제를 근본적으로 해결하는 도구가 등장했다.
브라우저 탭으로 여러 Claude CLI 세션을 한 번에 돌리는 클라우드 CLI 멀티세션 웹 터미널이다. 핵심은 단순하다. Claude CLI를 서버 측 PTY(Pseudo-Terminal)로 실행하고, 브라우저는 그 화면을 보여주는 역할만 담당한다. 그래서 브라우저를 닫아도, 노트북을 덮어도, PC를 끄고 다시 켜도 작업이 그대로 살아난다.
핵심 기능 네 가지
세션이 진짜로사불 않는다
기존 터미널 환경에서 Claude CLI를 실행하면, 그 프로세스는 사용자의 로컬 터미널 세션에 강하게 묶여 있다. 네트워크가 끊기거나 랩톱을 닫는 순간 프로세스가 종료된다. 이 도구는 PTY를 서버에서 분리하여 실행하기 때문에 이러한 제약이 사라진다.
# 설치 후 한 줄로 실행git clone https://github.com/kimtaeyeong1229/claude-web-terminal.gitcd claude-web-terminalpip install -r requirements.txtpython3 server.py --host 127.0.0.1 --port 8080# 브라우저에서 http://127.0.0.1:8080 접속
PC를 재부팅한 뒤 다시 접속하면, 세션이 자동으로 --resume 옵션으로 복원된다. 작업 디렉토리별로 세션을 구분해 두었다면, 각 프로젝트의 Claude 세션을 처음부터 다시 시작할 필요 없이 이전 상태에서 이어갈 수 있다.
탭 하나로 N개 세션 관리
여러 프로젝트의 Claude CLI를 동시에 굴려야 하는 시나리오를 생각해 보자. 각 프로젝트마다 터미널 창을 띄우면 창 목록이 불어난다. 이 도구는 탭 + 사이드바 UI로 N개의 Claude 세션을 하나의 화면에서 자유롭게 전환할 수 있다.
사이드바에서 세션을 선택하거나 키보드 단축키를 활용할 수 있다. Ctrl+Shift+T는 새 세션, Ctrl+Shift+←/→는 세션 간 이동, Ctrl+Shift+W는 현재 세션을 닫는다. Ctrl+B는 사이드바 자체를 토글한다.
로컬 디렉토리 + Docker 컨테이너 동시 지원
Claude CLI를 실행할 작업 디렉토리를 선택할 때, 로컬 파일 시스템뿐만 아니라 실행 중인 Docker 컨테이너 내부도 지정할 수 있다. Docker exec 명령으로 컨테이너에 접속해 Claude를 실행하는 수동 절차를 웹 UI로 대체한다.
구체적인 흐름은 이렇다. 세션 생성 모달에서 Container 토글을 선택하면, 실행 중인 컨테이너 목록이 나타난다. 원하는 컨테이너를 골라 내부 폴더를 브라우즈한 뒤 그 경로에서 Claude를 실행할 수 있다.
외부 Claude 프로세스 자동 감지 (Linux)
이미 로컬 터미널에서 실행 중인 Claude CLI가 있다면, 별도로 새 세션을 만들지 않고 기존 프로세스에 연결할 수 있다. Linux 환경에서는 /proc 파일 시스템을 통해 외부에서 실행 중인 Claude 프로세스를 탐지하고 바로 attach한다.
기술 스택과 구조
백엔드는 Python 3.10+ / aiohttp / PTY / WebSocket로 구성되어 있다. server.py는 약 500줄에 불과하지만, PTY 포크 및 실행, 세션별 I/O 관리, 10ms 주기의 read 루프에서 WebSocket broadcast까지 처리한다.
프론트엔드는 단일 HTML 파일에 HTML과 CSS, JavaScript가 모두 담겨 있다. 약 2,400줄규모적 단일 파일이지만, 프레임워크를 사용하지 않고 순수 밴다illa HTML/CSS/JS로 구현되었다. 터미널 에뮬레이션에는 XTerm.js 5.5, FitAddon, WebLinksAddon을 활용한다.
# 세션 영속화 구조~/.claude-web-terminal/sessions.json# 각 세션은 PTY로 fork/exec된 Claude 프로세스를 유지# 스크롤백 버퍼: 200KB# 재접속 시 버퍼 내용을 그대로 복원
세션 목록은 ~/.claude-web-terminal/sessions.json에 자동 저장된다. 서버나 PC를 재시작해도 이 파일을 기반으로 모든 세션이 --resume으로 복원된다. 사용자가 명시적으로 닫은 세션만 실제로 사라진다.
자동 실행 설정
랩톱을 닫아도 세션이 유지되듯이, 서버/PC 자체가 재부팅될 때 이 도구도 자동으로 실행되어야 완전한 영속성이 보장된다. macOS에서는 LaunchAgent plist를, Linux에서는 systemd user service를 사용할 수 있다.
macOS LaunchAgent 예시 설정 파일이 README에 포함되어 있다. RunAtLoad와 KeepAlive를 true로 설정하면 부팅 시 자동으로 실행되고, 프로세스 종료 시 재시작된다.
Linux에서는 systemd user service를 활성화하고 loginctl enable-linger $USER로 로그아웃 후에도 서비스를 유지할 수 있다. 이렇게 하면 서버 환경에서 Claude 세션이 사용자 로그아웃 후에도 계속 실행된다.
보안 주의사항
개발자가 직접 만든 도리라서 인증 기능이 없다. 기본 설정에서 127.0.0.1만 바인딩하도록 되어 있으며, 같은 PC의 브라우저에서만 접속할 수 있다.
LAN 내에서 다른 기기에서 접속해야 하는 경우, reverse proxy 뒤에 두고 basic authentication을 적용하라고 권장한다. 인터넷에 직접 노출하는 것은 권장하지 않는다. 인증 기능이 없기 때문에 누구든 접속하면 해당 사용자의 권한으로 Claude CLI를 실행할 수 있다.
기존 도구와의 차이
Claude CLI 멀티세션 환경이 처음 나온 것은 아니다. tmux나 screen 같은 터미널 멀티플렉서를 활용하는 방법, 또는 Claude 공식 웹 인터페이스(code.claude.com)를 사용하는 방법이 있다.
tmux 기반 접근은 로컬 환경에서는 잘 작동하지만, SSH 연결이 끊기면 세션이 끊긴다는 본질적 한계가 있다. Docker 컨테이너 내부 폴더 지정이나 외부 프로세스 감지 같은 기능도 없다. 반면 이 웹 터미널은 브라우저만 있으면 어디서든 로컬 Claude 세션에 접속할 수 있다는 점이 다르다.
| 방법 | 브라우저 접속 | 세션 영속 | Docker 통합 | 외부 프로세스 감지 ||------|-------------|----------|------------|-----------------|| tmux | 불가 | SSH 끊기면 종료 | 별도 설정 | 불가 || Claude 웹 | 가능 | 유지 | 불가 | 불가 || 이 도구 | 가능 | 완전 영속 | 내장 | Linux만 가능 |
한계와 앞으로의 과제
현재 버전의 한계도 분명하다. 인증 기능이 없어서 신뢰할 수 있는 네트워크에서만 사용할 수 있다. 외부 프로세스 감지는 Linux 환경에서만 작동하는데, macOS에는 /proc 파일 시스템이 없기 때문이다. 멀티유저나 계정 분리 기능도 없다.
그럼에도 불구하고, 여러 프로젝트의 Claude 세션을 동시에 관리해야 하는 개발자에게 이 도구가 주는 가치는 크다. 특히 Docker 환경에서 작업하는 백엔드 개발자나, CI/CD 파이프라인을 돌리는 개발자에게 로컬 터미널 의존도를 크게 낮출 수 있다.
정리
이 도구의 가치는 세션의 진정한 영속성에 있다. 브라우저를 끄든 랩톱을 덮든 PC를 재부팅하든, Claude 세션은 서버에서 조용히 실행을 계속한다. 탭 기반의 멀티세션 UI, Docker 컨테이너 통합, 외부 프로세스 자동 감지 등 개발 환경에 바로 적용할 수 있는 실용적 기능이 들어 있다. Claude CLI를 자주 쓰는 개발자라면 한 번시볼 만한 도구다.
📚 출처
'AI 뉴스' 카테고리의 다른 글
| Show GN: AI Skill Store — AI 에이전트가 직접 스킬을 찾고 설치하는 마켓플레이스 (0) | 2026.05.29 |
|---|---|
| 알리바바 클라우드 Qwen 컨퍼런스 2026 싱가포르 키노트 요약 (0) | 2026.05.29 |
| AI와 대화하는 데 지쳤어요 — 프록시 없는 대화를 향해서 (0) | 2026.05.28 |
| 개발자들이 실제로 좋아하는 도구 2026 — Lobsters 커뮤니티의 생생한 의견 (0) | 2026.05.28 |
| YouTube가 AI 생성 동영상에 자동으로 라벨을 붙일 예정 — 크리에이터에게 주는 영향은? (0) | 2026.05.28 |