AI 코딩 에이전트 전용 터미널 cmux, 출시 한 달 만에 6,800 GitHub 스타를 받은 이유

Claude Code, Codex 등 AI 코딩 에이전트를 위한 전용 터미널 cmux의 핵심 기능과 실전 활용법. 워크스페이스 관리, 브라우저 자동화, 세션 간 컨텍스트 공유까지.

AI 코딩 에이전트 시대의 새로운 터미널, cmux

여러분은 어떤 터미널을 쓰시나요? iTerm, Ghostty, Warp 같은 터미널을 많이들 쓰실 텐데요. AI 코딩 에이전트를 여러 개 띄우는 환경에서는 터미널이 단순한 명령 입력창을 넘어 작업 관제 화면이 됩니다. 오늘 소개할 cmux(씨먹스)는 Claude Code, Codex, Cursor 같은 AI 코딩 에이전트와 함께 쓰는 상황을 전제로 설계된 오픈소스 터미널입니다.

기존 터미널이나 tmux가 범용 세션 관리에 강했다면, cmux는 워크스페이스, 브라우저 자동화, 에이전트 작업 완료 알림, 세션 간 컨텍스트 공유를 아예 제품 기능으로 제공합니다. 이 글에서는 cmux가 왜 “AI 코딩 에이전트 전용 터미널”로 주목받는지, 어떤 기능이 실무 생산성을 끌어올리는지 정리해 보겠습니다.


핵심 요약: cmux가 에이전트 협업에 최적화된 이유

  • 워크스페이스 기반 멀티 프로젝트 관리: 프론트엔드, 백엔드, 인프라 등 프로젝트별 작업 환경을 독립된 워크스페이스로 분리해 구조적으로 관리할 수 있다.
  • 에이전트 작업 완료 알림: Claude Code 등의 작업이 완료되면 자동으로 알림이 표시되어, 여러 에이전트 세션을 동시에 운영할 때 놓치는 일이 없다.
  • 내장 브라우저 자동화: 터미널 내부에서 크로미움 기반 브라우저를 띄우고 CLI로 제어할 수 있어, 별도의 MCP나 플러그인 설치 없이 브라우저 자동화가 가능하다.
  • CLI 기반 에이전트 제어: cmux의 모든 기능(워크스페이스 생성, 탭 전환, 로그 조회 등)을 CLI 명령어로 수행할 수 있어, 에이전트에게 터미널 조작을 위임할 수 있다.
  • 세션 간 컨텍스트 공유: 한 워크스페이스의 터미널 로그를 다른 에이전트 세션에서 바로 읽어 올 수 있어, 멀티 에이전트 환경에서 작업 맥락을 공유하기 쉽다.
  • UI 기반 직관적 조작: tmux와 달리 사이드바와 버튼으로 워크스페이스와 탭을 생성할 수 있어, 키보드 단축키를 외우지 않아도 바로 사용할 수 있다.
  • 오픈소스 기반 확장성: 커스텀 알림과 명령어를 추가할 수 있어, 팀의 워크플로우에 맞게 확장 가능하다.

cmux의 구조 이해: 워크스페이스, 서피스, 페인

cmux는 세 가지 계층으로 작업 환경을 조직합니다. 각 계층의 역할을 이해하면 멀티 에이전트 환경을 훨씬 효율적으로 설계할 수 있습니다.

워크스페이스 (Workspace)

워크스페이스는 cmux의 최상위 단위로, 독립된 프로젝트 또는 작업 컨텍스트를 나타낸다. 좌측 사이드바에 아이콘으로 표시되며, 각 워크스페이스는 서로 격리된 환경을 제공한다.

생성 방법:

# UI: 좌측 사이드바의 + 버튼 클릭
# 단축키: Cmd + N (macOS) / Ctrl + N (Linux)
# CLI:
cmux workspace create Frontend
cmux workspace create Backend
cmux workspace create General

활용 시나리오:

  • 프론트엔드 개발과 백엔드 개발을 별도 워크스페이스로 분리
  • 프로덕션 장애 대응을 위한 긴급 워크스페이스 생성
  • 리뷰 전용 워크스페이스에서 PR 코드를 탐색

서피스 (Surface)

서피스는 워크스페이스 내부의 탭(Tab)을 의미한다. 하나의 워크스페이스는 여러 개의 서피스를 가질 수 있으며, 각 서피스는 독립된 터미널 세션 또는 브라우저 창을 호스팅한다.

생성 방법:

# UI: 상단의 "터미널 생성하기" 버튼 클릭
# CLI:
cmux surface new "Dev Server"
cmux surface new "Claude Code Session"

활용 시나리오:

  • 프론트엔드 워크스페이스에 개발 서버 탭과 빌드 로그 탭을 분리
  • 백엔드 워크스페이스에 API 서버, DB 마이그레이션, 테스트 실행 탭을 별도로 관리
  • 한 서피스에서 Claude Code 작업을 진행하고, 다른 서피스에서 동시에 개발 서버 로그를 모니터링

페인 (Pane)

페인은 서피스 내부에서 화면을 분할한 영역이다. 하나의 서피스를 여러 페인으로 나누면, 한 화면에서 여러 터미널 출력을 동시에 확인할 수 있다.

생성 방법:

# UI: 상단의 화면 분할 버튼 클릭
# 단축키: Cmd + D (macOS) / Ctrl + D (Linux)
# CLI:
cmux pane split

활용 시나리오:

  • 한 페인에서 Claude Code를 실행하고, 다른 페인에서 테스트 결과를 확인
  • 왼쪽 페인에서 코드 에디터 명령을 입력하고, 오른쪽 페인에서 빌드 출력을 모니터링

계층 구조 시각화

cmux의 전체 구조를 CLI로 확인하려면 다음 명령어를 사용한다:

cmux tree
# 출력 예시:
# Frontend (active)
#   ├─ Dev Server
#   │   ├─ Pane 0 (npm run dev)
#   │   └─ Pane 1 (npm run test)
#   └─ Claude Code Session
#       └─ Pane 0 (bash)
# Backend
#   └─ API Server
#       └─ Pane 0 (python manage.py runserver)

AI 에이전트 작업 완료 알림: 멀티 세션 환경의 필수 기능

Claude Code나 Codex 같은 에이전트는 작업에 수십 초에서 수 분이 걸리는 경우가 많죠. 한 에이전트가 작업 중일 때 다른 워크스페이스로 넘어가 또 다른 에이전트를 실행하면, 첫 번째 작업이 언제 끝났는지 놓치기 쉽습니다. 멀티 에이전트로 일해 보신 분들은 다들 공감하실 거예요.

cmux는 이 문제를 에이전트 작업 완료 알림으로 해결합니다.

알림 동작 방식

  1. 작업 진행 중 표시: 에이전트가 작업을 시작하면 해당 서피스 탭에 “Running” 배지가 표시된다.
  2. 작업 완료 알림: 에이전트 작업이 완료되면 상단 알림 영역에 요약 메시지가 뜨고, 해당 탭이 깜빡이며 주의를 환기한다.
  3. 알림 내역 확인: 상단의 알림 탭을 클릭하면 모든 완료 알림의 이력을 확인할 수 있다.

지원 에이전트

  • Claude Code: 기본 지원 확인됨
  • Codex: 실험 결과 정상 작동 확인됨
  • 커스텀 에이전트: cmux의 커스텀 알림 API를 사용하면 자체 개발한 에이전트에도 알림 기능을 추가할 수 있다.

커스텀 알림 구축

cmux는 커스텀 명령어를 통해 알림 시스템을 확장할 수 있다. 예를 들어, 특정 명령어가 완료되면 알림을 보내거나, 외부 CI/CD 파이프라인 결과를 cmux 알림으로 푸시하는 방식으로 활용할 수 있다.


내장 브라우저 자동화: 터미널에서 크로미움을 제어하라

제가 cmux에서 가장 독특하다고 본 기능은 이겁니다. 터미널 내부에서 브라우저를 실행하고 제어할 수 있다는 점이죠. cmux는 Vercel의 Agent Browser를 기반으로 크로미움(Chromium) 브라우저를 내장하고 있어서, 별도의 창 전환 없이 터미널 안에서 웹 페이지를 탐색하고, 개발자 도구를 쓰고, 심지어 CLI로 브라우저를 자동화할 수 있습니다.

브라우저 실행 방법

# UI: 상단의 "브라우저" 버튼 클릭
# CLI: 특정 URL을 바로 열기
cmux browser open https://cmux.dev

실행하면 새 서피스가 생성되며, 그 안에서 크로미움 브라우저가 렌더링된다. 개발자 도구도 지원되므로 네트워크 요청, 콘솔 로그, 요소 검사를 터미널 내부에서 수행할 수 있다.

브라우저 자동화 CLI 명령어

cmux는 브라우저 제어를 CLI로 노출하여, 에이전트가 브라우저를 자동화하도록 위임할 수 있다. 대표적인 명령어는 다음과 같다:

cmux browser open <URL>          # URL 열기
cmux browser screenshot          # 현재 페이지 스크린샷 캡처
cmux browser dom <selector>      # DOM 요소 조회
cmux browser execute <script>    # JavaScript 주입 및 실행

실전 예제: 에이전트에게 브라우저 제어 위임

다음은 Claude Code에게 cmux 문서 페이지를 탐색하고 정리하도록 요청하는 예제다.

사용자 입력:

cmux 사용해서 cmux.dev 문서 페이지 접속한 다음에,
브라우저 자동화 관련 내용 정리해줘.

Claude Code 실행 과정:

  1. 브라우저 열기: cmux browser open https://cmux.dev를 실행하여 새 서피스에 브라우저를 띄운다.
  2. 페이지 이동: 사이드바의 “문서” 링크를 클릭하는 DOM 조작 명령을 실행한다.
  3. 브라우저 자동화 섹션 탐색: “브라우저 자동화” 링크를 찾아 클릭한다.
  4. 스크린샷 캡처: cmux browser screenshot로 현재 페이지를 캡처한다.
  5. DOM 정보 추출: cmux browser dom으로 페이지의 텍스트 콘텐츠를 추출하고 요약한다.

이 모든 과정이 별도의 MCP(Model Context Protocol) 설정이나 외부 CLI 도구 설치 없이 cmux 자체 명령어만으로 처리됩니다. 이 부분이 저는 꽤 큰 장점으로 느껴졌습니다.

왜 터미널 내장 브라우저가 중요한가

에이전트가 웹 페이지를 탐색하고, API 응답을 확인하고, UI 테스트를 자동화하는 작업은 점점 흔해지고 있다. 기존에는 Playwright나 Puppeteer 같은 별도 도구를 설치하고, 브라우저 드라이버를 관리하며, 스크린샷 저장 경로를 설정하는 등의 사전 작업이 필요했다.

cmux는 이 모든 것을 터미널 네이티브로 제공한다. 에이전트는 단순히 cmux browser 명령어를 호출하는 것만으로 브라우저를 제어할 수 있으며, 개발자는 터미널 창을 벗어나지 않고도 브라우저 출력을 확인할 수 있다.


CLI 기반 워크플로우 자동화: 에이전트가 터미널을 조작한다

cmux의 또 다른 강점은 모든 UI 조작을 CLI 명령어로 수행할 수 있다는 점이다. 워크스페이스 생성, 탭 전환, 페인 분할, 터미널 로그 조회 등 cmux에서 할 수 있는 거의 모든 작업이 CLI로 노출되어 있어, 에이전트가 터미널 자체를 조작할 수 있다.

대표 CLI 명령어

명령어설명
cmux workspace list모든 워크스페이스 목록 조회
cmux workspace create <name>새 워크스페이스 생성
cmux workspace switch <name>워크스페이스 전환
cmux surface new <title>새 서피스(탭) 생성
cmux pane split현재 서피스를 수평 분할
cmux read-screen <path>특정 페인의 터미널 출력 읽기
cmux tree전체 계층 구조 출력

전체 API 레퍼런스는 cmux 공식 문서에서 확인할 수 있다.

실전 활용: 세션 간 컨텍스트 공유

에이전트를 여러 개 운영하다 보면, 한 세션에서 실행 중인 서버의 로그를 다른 세션에서 참조해야 하는 경우가 많다. 기존에는 개발 서버 로그를 복사해서 에이전트에게 붙여넣어야 했지만, cmux에서는 CLI로 직접 조회할 수 있다.

시나리오:

프론트엔드 워크스페이스에서 작업 중인 Claude Code가, 백엔드 워크스페이스의 “Auth Backend” 서피스에서 실행 중인 API 서버 로그를 확인하고 오류를 수정해야 한다.

사용자 입력:

cmux 사용해서 백엔드 워크스페이스의 Auth Backend 서피스 터미널 로그 조회해서,
이런 오류 수정해줘.

Claude Code 실행 과정:

  1. 구조 파악: cmux tree 명령으로 전체 워크스페이스 구조를 조회한다.
    cmux tree
    # Backend
    #   └─ Auth Backend
    #       └─ Pane 0
  2. 로그 읽기: cmux read-screen Backend/Auth Backend/Pane 0 명령으로 해당 페인의 최근 출력을 가져온다.
  3. 오류 분석 및 수정: 로그에서 에러 메시지를 파악하고, 해당하는 코드 파일을 수정한다.

이처럼 cmux는 세션 간 컨텍스트 공유를 CLI 명령어 하나로 해결한다. 멀티 에이전트 환경에서 작업 히스토리를 공유하는 데 필요한 수동 복사-붙여넣기가 사라진다.


실무 활용 시나리오: cmux를 프로젝트에 도입하는 방법

시나리오 1: 프론트엔드 + 백엔드 풀스택 개발

구조 설계:

# 워크스페이스 생성
cmux workspace create Frontend
cmux workspace create Backend

# 프론트엔드 워크스페이스 구성
cmux workspace switch Frontend
cmux surface new "Dev Server"   # npm run dev
cmux surface new "Build Logs"    # npm run build --watch
cmux surface new "Claude Code"   # Claude Code 세션

# 백엔드 워크스페이스 구성
cmux workspace switch Backend
cmux surface new "API Server"    # python manage.py runserver
cmux surface new "DB Migration" # 마이그레이션 스크립트 실행
cmux surface new "Claude Code"   # 별도 Claude Code 세션

워크플로우:

  1. 프론트엔드 Claude Code에서 컴포넌트를 개발한다.
  2. 작업이 완료되면 알림을 받고, 백엔드 워크스페이스로 전환한다.
  3. 백엔드 Claude Code에서 API 엔드포인트를 추가한다.
  4. 프론트엔드 워크스페이스로 돌아와 “Dev Server” 탭에서 통합 결과를 확인한다.

시나리오 2: 프로덕션 장애 대응

구조 설계:

# 긴급 워크스페이스 생성
cmux workspace create Incident

# 서피스 구성
cmux surface new "Prod Logs"      # 프로덕션 서버 로그 tail
cmux surface new "DB Query"       # 데이터베이스 쿼리 실행
cmux surface new "Hotfix Branch" # 긴급 수정 브랜치 작업

워크플로우:

  1. “Prod Logs” 탭에서 실시간 로그를 모니터링한다.
  2. 오류를 발견하면 “DB Query” 탭에서 데이터를 확인한다.
  3. “Hotfix Branch” 탭에서 Claude Code를 실행해 수정 패치를 작성한다.
  4. 패치 배포 후 “Prod Logs” 탭에서 정상화를 확인한다.

시나리오 3: 오픈소스 프로젝트 리뷰

구조 설계:

# 리뷰 전용 워크스페이스 생성
cmux workspace create Review

# 서피스 구성
cmux surface new "PR Diff"        # git diff main...feature/new
cmux surface new "Test Results"   # npm test
cmux surface new "Claude Code"    # 코드 리뷰 요약 작성

워크플로우:

  1. “PR Diff” 탭에서 변경 사항을 확인한다.
  2. “Test Results” 탭에서 테스트 통과 여부를 확인한다.
  3. “Claude Code” 탭에서 에이전트에게 코드 리뷰를 요청하고, 자동으로 리뷰 코멘트를 생성한다.

cmux vs tmux: 터미널 멀티플렉서 비교

cmux는 이름부터 tmux(Terminal Multiplexer)를 떠올리게 하죠. 실제로 tmux의 개념(세션, 윈도우, 페인)을 기반으로 설계됐습니다. 다만 두 도구는 설계 철학과 타겟 사용자가 좀 다릅니다.

비교 항목tmuxcmux
세션 복원터미널 종료 후에도 프로세스 유지 가능 (서버에서 detach/attach)현재 미지원 (프로세스 유지 불가, 레이아웃 메타데이터만 복원)
UI 기반 조작모든 작업이 키보드 단축키 기반 (학습 곡선 가파름)사이드바와 버튼으로 직관적 조작 가능
AI 에이전트 통합별도 스크립트 작성 필요작업 완료 알림, CLI API 기본 제공
브라우저 자동화외부 도구(Playwright 등) 필요내장 크로미움 브라우저 + CLI 제어
학습 곡선명령어와 단축키 암기 필수버튼과 메뉴로 즉시 사용 가능
현재 OS 지원Linux, macOS, Windows(WSL)Linux, macOS (Windows 미지원)
안정성수십 년간 검증된 성숙한 도구초기 버전 (불안정할 수 있음)
확장성플러그인 생태계 풍부오픈소스 기반, 커스텀 명령어 추가 가능

언제 tmux를 사용해야 하는가

  • 원격 서버 작업: SSH로 접속한 서버에서 작업 중 연결이 끊겨도 세션을 유지해야 할 때.
  • 장기 실행 프로세스: 터미널을 닫아도 백그라운드 작업이 계속 실행되어야 할 때.
  • 완전한 키보드 기반 워크플로우: 마우스 없이 모든 작업을 수행하고 싶을 때.

언제 cmux를 사용해야 하는가

  • AI 에이전트 중심 개발: Claude Code, Codex 등을 여러 프로젝트에서 동시에 사용할 때.
  • 빠른 프로토타이핑: 복잡한 단축키 없이 UI로 빠르게 워크스페이스를 구성하고 싶을 때.
  • 브라우저 자동화 통합: 터미널 내부에서 웹 페이지를 탐색하고 제어해야 할 때.

하이브리드 전략: cmux + tmux

사실 저는 cmux와 tmux를 함께 쓰는 쪽을 추천합니다. 저 역시 cmux만 단독으로 쓸 생각은 없고, tmux도 계속 같이 쓸 것 같거든요. 나누면 이렇게 됩니다.

  • tmux: 원격 서버의 세션 유지와 장기 실행 작업 관리.
  • cmux: 로컬 개발 환경에서 AI 에이전트 협업과 브라우저 자동화.

이렇게 가면 각 도구의 강점을 모두 챙길 수 있습니다.


cmux의 한계와 향후 개선 방향

현재 한계

  1. 세션 복원 미지원: tmux의 핵심 기능인 “터미널 종료 후에도 프로세스 유지”가 아직 지원되지 않는다. 현재는 레이아웃 메타데이터(워크스페이스, 탭 구조)만 복원 가능하다.
  2. Windows 미지원: 현재 Linux와 macOS만 지원되며, Windows는 공식 지원되지 않는다.
  3. 초기 버전의 안정성: 출시된 지 얼마 되지 않아 버그나 예상치 못한 동작이 있을 수 있다.

왜 세션 복원이 중요한가

tmux의 세션 복원 기능은 다음과 같은 상황에서 필수적이다:

  • 원격 개발 환경: SSH 연결이 끊겨도 서버에서 실행 중인 작업이 계속된다.
  • 장기 실행 작업: 배포 스크립트, 데이터 마이그레이션 등 수 시간 걸리는 작업을 터미널을 닫아도 백그라운드에서 실행할 수 있다.
  • 노트북 전환: 사무실에서 작업하던 세션을 집에서 그대로 이어받을 수 있다.

cmux가 이 기능을 지원하지 않는 이유는 UI 기반 접근과 세션 복원이 구조적으로 충돌하기 때문입니다. tmux는 터미널 UI 자체를 서버 프로세스로 분리(detach)해서 세션을 유지하지만, cmux는 GUI 기반 터미널 애플리케이션으로 설계돼 있어 프로세스 분리가 어렵죠. 앞으로 개선될 여지는 있지만, 지금은 이 한계를 알고 쓰는 게 좋겠습니다.


마무리: cmux를 도입해야 하는 이유

결론부터 말하면, cmux는 AI 코딩 에이전트와의 협업을 전제로 설계된, 기존 터미널과는 결이 다른 도구입니다. 다음과 같은 개발자에게 잘 맞는다고 봅니다.

  • 멀티 에이전트 워크플로우: Claude Code, Codex, Cursor 등을 동시에 여러 프로젝트에서 사용하는 개발자.
  • 브라우저 자동화 필요: 터미널에서 웹 페이지 탐색, 스크린샷 캡처, DOM 조작을 자주 수행하는 개발자.
  • UI 기반 생산성: 복잡한 키보드 단축키를 외우지 않고 직관적으로 작업 환경을 구성하고 싶은 개발자.
  • 프로젝트별 격리: 프론트엔드, 백엔드, 인프라 등을 별도 워크스페이스로 깔끔하게 분리하고 싶은 개발자.

실무 도입 팁

  1. 작게 시작하라: 한 프로젝트의 프론트엔드/백엔드 워크스페이스만 먼저 구성하고, 익숙해지면 확장하라.
  2. CLI 명령어를 익혀라: UI로 시작하되, 에이전트 자동화를 위해 주요 CLI 명령어(cmux tree, cmux read-screen, cmux browser)를 학습하라.
  3. tmux와 병행하라: 원격 서버 작업은 tmux로, 로컬 개발은 cmux로 분리하면 각 도구의 장점을 모두 활용할 수 있다.
  4. 커스텀 알림을 설정하라: 팀의 워크플로우에 맞는 알림 규칙을 추가하면, 에이전트 협업 효율이 더욱 높아진다.

cmux는 출시 한 달 만에 6,800개의 스타를 받으며 개발자들의 관심을 입증했습니다. 실제로 써 보면 정말 편하거든요. AI 에이전트가 코딩 워크플로우의 핵심으로 자리 잡는 지금, cmux가 그에 맞춰 진화하는 터미널의 한 방향을 보여 준다고 봅니다. 여러분도 한 번씩 꼭 써 보시면 좋겠습니다.


관련 영상

이 글과 연결된 영상은 개발동생 유튜브 채널에서 보기에서 확인할 수 있습니다.

자주 묻는 질문

cmux의 워크스페이스, 서피스, 페인은 각각 무엇인가요?

워크스페이스는 프로젝트 단위의 최상위 작업 공간, 서피스는 워크스페이스 안의 탭, 페인은 서피스 화면을 분할한 영역입니다. cmux tree 명령으로 전체 계층을 확인할 수 있습니다.

cmux 내장 브라우저로 에이전트에게 브라우저 작업을 맡기려면 어떻게 하나요?

cmux browser open, screenshot, dom, execute 같은 CLI 명령을 에이전트가 직접 호출하게 하면 됩니다. 별도 MCP 설정이나 외부 도구 설치 없이 페이지 탐색, 스크린샷, DOM 추출이 가능합니다.

cmux와 tmux 중 무엇을 써야 하나요?

cmux는 로컬에서 AI 에이전트 협업과 브라우저 자동화에, tmux는 원격 서버 세션 유지와 장기 실행 작업에 적합합니다. 두 도구를 함께 쓰는 하이브리드 방식을 추천합니다.

cmux를 쓸 때 주의할 한계는 무엇인가요?

터미널 종료 후 프로세스를 유지하는 세션 복원이 아직 지원되지 않아 레이아웃만 복원됩니다. Windows는 미지원이고, 초기 버전이라 불안정할 수 있습니다.

이 글이 도움이 됐나요?

좋았다면 링크를 공유하거나 반응을 남겨주세요. 남겨주신 반응은 다음 글을 개선하는 데 참고하겠습니다.