main-logo

cmux

AI 에이전트 시대, 터미널도 바뀐다

profile
doworld
2026년 03월 19일 · 0 분 소요

들어가며

터미널은 거의 변하지 않았다. 검은 화면에 커서가 깜빡이고, 명령어를 입력하면 결과가 출력된다. iTerm2가 탭을 추가하고, Warp이 AI 어시스턴트를 넣었지만, 근본적인 사용 패턴은 같았다. 한 사람이 한 창에서 한 작업을 한다.

그런데 우리는 터미널에서 에이전트를 5개씩 동시에 돌린다. Claude Code로 인증 모듈을 만들면서, Codex로 검색 API를 최적화하고, 또 다른 에이전트가 테스트를 작성한다.

"지금 어느 탭에서 어느 에이전트가 뭘 하고 있지?"

"작업 끝난 에이전트가 입력을 기다리는데, 어느 탭이었지?"

"결과를 확인하려고 탭을 하나씩 눌러봐야 하나?"

cmux는 바로 이 문제를 해결하기 위해 만들어진 터미널이다.

 

cmux란?

cmux는 AI 코딩 에이전트를 병렬로 실행하는 데 최적화된 macOS 네이티브 터미널이다. 2026년 3월 12일에 출시되어 2주 만에 GitHub 스타 3,500개를 찍었다. 완전 무료, 오픈소스(AGPL).

Ghostty의 렌더링 엔진(libghostty)을 사용하지만 Ghostty의 포크가 아니다. WebKit으로 웹뷰를 만들듯이, libghostty로 터미널 렌더링을 처리하는 별도의 앱이다. Electron도 Tauri도 없다. Swift + AppKit 순수 네이티브라서 가볍고 빠르다.

 

기존 터미널의 한계: 왜 새 터미널이 필요했나

멀티태스킹

iTerm2에서 에이전트 4개를 돌린다고 하자.

탭 1: Claude Code — feature/auth 브랜치에서 인증 모듈 작업 중
탭 2: Codex — feature/search 브랜치에서 검색 API 최적화 중
탭 3: Gemini — fix/payment 브랜치에서 결제 버그 수정 중
탭 4: Claude Code — 테스트 작성 중, 입력 대기 중

이 상태에서 나는

  • 탭 4가 입력을 기다리고 있다는 걸 모른다 (탭을 직접 클릭해봐야 안다)
  • 각 탭이 어느 브랜치에서 작업 중인지 탭 이름만으로는 파악이 안 된다
  • 에이전트가 끝났는지 확인하려고 탭을 순회한다

하나의 터미널에서 하나의 작업을 하던 시대의 UI가, 여러 에이전트를 동시에 감독하는 시대를 감당하지 못하는 것이다.

 

cmux의 답

cmux는 이 문제를 세 가지로 해결한다: 알림 링, 컨텍스트 사이드바, 내장 브라우저.

 

핵심 기능 1: 알림 링 (Notification Rings)

cmux의 가장 중요한 기능이다.

AI 에이전트가 작업을 마치고 입력을 기다리면, 해당 창에 파란색 테두리(링)가 나타난다. 동시에 사이드바 탭에 배지가 뜨고, macOS 데스크톱 알림도 보낸다.

기존 방식:

에이전트 실행 → 끝났나? 탭 클릭 → 아직이네 → 다른 탭 클릭
→ 여기도 아직 → 다시 원래 탭 → 아 끝났다

cmux 방식:

에이전트 실행 → 다른 일 하기 → 파란 링 뜸 → 확인 → 다음 지시

에이전트를 기다리는 것에서 에이전트가 알려주는 것으로 바뀐다. ⌘⇧U 를 누르면 가장 최근 알림이 온 탭으로 즉시 점프한다.

 

알림 보내는 방법

에이전트가 자동으로 알림을 보내지 않는 경우, 직접 설정할 수 있다.

# CLI 방식 (가장 간단)
cmux notify --title "작업 완료" --body "테스트 전부 통과"

# OSC 777 (터미널 이스케이프 시퀀스)
echo -e '\033]777;notify;빌드 완료;에러 0건\033\\'

# Claude Code Hooks와 연동
# 작업 완료 시 자동으로 cmux에 알림 전송

 

핵심 기능 2: 컨텍스트 사이드바

좌측에 세로로 배열된 탭 목록이 있다. 단순한 탭이 아니다. 각 탭에 다음 정보가 실시간으로 표시된다.

  • Git 브랜치명 — 어느 브랜치에서 작업 중인지
  • 작업 디렉토리 — 어느 폴더인지
  • 열린 포트 — 개발 서버가 떠 있는지
  • 최신 알림 텍스트 — 마지막으로 뭘 했는지
  • PR 상태/번호 — 연결된 PR이 있는지

에이전트 5개를 돌리고 있어도, 사이드바만 보면 전체 상황이 한눈에 파악된다.

 

핵심 기능 3: 내장 브라우저

⌘⇧B 를 누르면 터미널 옆에 브라우저가 분할 창으로 열린다.

이게 왜 중요하냐면 AI 에이전트와 작업할 때 자주 하는 패턴이 있다:

  • 에이전트가 만든 UI를 localhost에서 확인
  • PR 리뷰를 위해 GitHub을 참고
  • API 문서를 보면서 에이전트에게 지시

기존에는 터미널 ↔ 브라우저 사이를 Alt+Tab으로 오가야 했다. cmux에서는 한 화면에서 모두 해결된다. 터미널 왼쪽에서 에이전트가 코드를 쓰고, 오른쪽 브라우저에서 결과를 바로 확인하는 워크플로우가 가능하다.

브라우저는 단순 뷰어가 아니다. 스크립트 가능한 API가 있어서 폼 입력, DOM 조작, JavaScript 실행까지 자동화할 수 있다.

 

기존 터미널과의 비교

iTerm2

macOS 터미널의 사실상 표준. 탭, 분할, tmux 통합, 풍부한 커스터마이징. 하지만 AI 에이전트를 위한 기능은 없다. 에이전트가 입력을 기다리는지 알 방법이 없고, 탭에 Git 브랜치 같은 컨텍스트 정보가 보이지 않는다.

iTerm2가 나은 경우: 에이전트 없이 전통적인 터미널 작업을 할 때. 기능의 깊이와 안정성은 최고.

 

Warp

모던 터미널의 대표주자. 명령어별 "블록" UI, 내장 AI 어시스턴트, 자동완성. 터미널 자체에 AI를 넣었다는 점에서 혁신적이었다.

Warp이 나은 경우: AI가 터미널 사용을 도와주기를 원할 때. 하지만 Warp의 AI는 "터미널 안의 어시스턴트"이고, cmux의 AI 지원은 "터미널 밖의 에이전트를 관리하는 UI"다. 해결하는 문제가 다르다.

터미널이 익숙하지 않은 상태에서 GUI가 함께 있고, AI 어시스턴트가 있어서 사용자 접근성이 좋다. 

 

tmux

서버에서 세션을 유지하는 데는 여전히 최강. 하지만 텍스트 기반 UI의 한계가 있고, 알림 시스템이 없다. cmux의 이름이 tmux를 연상시키는 건 우연이 아닐 것이다. tmux의 "멀티플렉싱" 철학을 GUI + AI 에이전트 시대에 맞게 재해석한 것이 cmux다.

 

Ghostty

cmux의 렌더링 엔진을 제공하는 터미널. GPU 가속, 빠른 성능, 깔끔한 디자인. 하지만 에이전트 관리 기능은 없다. Ghostty가 "가장 빠른 터미널"을 목표로 한다면, cmux는 "에이전트를 가장 잘 관리하는 터미널"을 목표로 한다.

 

실전 워크플로우: 에이전트 3개 병렬 실행

Step 1: 워크스페이스 생성

⌘⇧N → 워크스페이스 1: feature/auth
⌘⇧N → 워크스페이스 2: feature/search
⌘⇧N → 워크스페이스 3: fix/payment

 

Step 2: 각 워크스페이스에서 에이전트 실행

워크스페이스 1: claude code → "사용자 인증 기능 구현해줘"
워크스페이스 2: claude code → "상품 검색 API 최적화해줘"
워크스페이스 3: codex --full-auto "결제 버그 수정해줘"

 

Step 3: 다른 일 하기

에이전트 3개가 동시에 작업하는 동안, 4번째 워크스페이스에서 코드 리뷰를 하거나 문서를 쓴다. 또는 내장 브라우저로 PR을 확인한다.

 

Step 4: 알림 확인

🔵 워크스페이스 1에 파란 링 → 인증 모듈 완료, 리뷰 요청
⌘⇧U → 해당 워크스페이스로 점프
→ 결과 확인 → 추가 지시 또는 승인

 

Step 5: 순차적으로 완료 처리

다른 에이전트도 작업이 끝나면 알림이 온다. 하나씩 확인하고 다음 단계를 지시한다. 순차적으로 했으면 3시간 걸릴 작업이, 사이드바와 알림 덕분에 병렬로 1시간 안에 끝난다.

 

설치와 시작

설치

# Homebrew (가장 간단)
brew install cmux

# 또는 DMG 직접 다운로드
# https://github.com/manaflow-ai/cmux/releases

 

기존 Ghostty 설정 호환

이미 Ghostty를 쓰고 있다면, 키바인딩, 폰트, 색상 설정이 그대로 호환된다. 별도 설정 없이 바로 쓸 수 있다.

 

주요 단축키

  • ⌘⇧N — 새 워크스페이스
  • ⌘1~8 — 워크스페이스 전환
  • ⌘D — 우측 분할
  • ⌘⇧D — 하단 분할
  • ⌘⇧U — 최신 알림으로 점프
  • ⌘⇧I — 알림 패널 열기
  • ⌘⇧B — 내장 브라우저 열기

 

호환 에이전트

터미널에서 돌아가는 모든 AI 코딩 도구와 호환된다.

  • Claude Code, Codex, Gemini CLI
  • Aider, Kiro, OpenCode
  • Goose, Amp, Cline

 

누구에게 필요하고, 누구에게 필요 없나

필요한 경우

  • AI 에이전트를 2개 이상 동시에 돌리는 워크플로우
  • 에이전트가 끝났는지 탭을 하나씩 확인하는 게 귀찮은 경우
  • 터미널과 브라우저를 오가는 컨텍스트 스위칭이 싫은 경우
  • Git Worktree 기반 병렬 개발을 하는 경우

 

필요 없는 경우

  • 에이전트를 하나만 쓰는 경우 — iTerm2로 충분
  • macOS가 아닌 환경 — 현재 macOS 전용 (Linux 포트가 커뮤니티에서 진행 중)
  • 서버 세션 유지가 목적 — tmux가 더 적합
  • 터미널 자체의 AI 어시스턴트가 필요 — Warp이 더 적합

 

터미널의 진화: 도구에서 관제탑으로

터미널의 역사를 돌아보면, 전환점이 있었다.

1세대 — 명령 실행기. 명령어를 입력하면 결과가 나온다. 그게 전부다.

2세대 — 생산성 도구. 탭, 분할, 자동완성, 검색. iTerm2가 대표한다. 개발자 한 명의 생산성을 극대화하는 데 집중했다.

3세대 — AI 어시스턴트 내장. Warp이 선도했다. 터미널 안에 AI를 넣어 명령어 제안, 에러 설명, 자연어 질의를 가능하게 했다.

4세대 — 에이전트 관제탑. cmux가 여기에 해당한다. 터미널의 역할이 "명령을 실행하는 곳"에서 "에이전트들을 감독하는 곳"으로 바뀐다.

이 전환은 하네스 엔지니어링의 흐름과 맞닿아 있다. 개발자가 코드를 직접 쓰는 빌더에서 에이전트를 감독하는 설계자로 변하고 있다면, 터미널도 코드를 쓰는 도구에서 에이전트를 관리하는 관제탑으로 변하는 것이 자연스럽다.

cmux는 이 전환의 첫 번째 제품이다. 완벽하지는 않다. macOS 전용이고, iTerm2만큼의 기능 깊이는 아직 없다. 하지만 에이전트를 여러 개 동시에 돌려본 사람이라면, 왜 이런 도구가 필요한지 알 것이다.

도구는 일하는 방식을 따라간다. 일하는 방식이 바뀌면 도구도 바뀌어야 한다.

 

 

 

 

참고 자료

- cmux 공식 사이트

- cmux GitHub

- cmux: A Terminal Built for Agentic Workflows — woza.ink

- Calyx vs cmux: Choosing the Right Ghostty-Based Terminal — DEV Community