AI 에이전트 여러 개를 tmux로 돌리는 법 — send-keys로 지시하고 capture-pane으로 읽는다
tmux로 AI 코딩 에이전트 여러 개를 운영하는 crystl.dev 가이드에서 세션 구성, send-keys·capture-pane 요령, 추천 설정과 tmux의 한계를 추렸다.
AI 코딩 에이전트 여러 개를 tmux로 돌리는 방법을 정리한 crystl.dev 가이드를 읽었다. 명령이 많아 주요 사용법만 추려 달라고 했다.
2026년 10월 20일 화요일
주요 사용법 요약해줘
✳
Claude
📄 파일 읽기⌨️ 명령 실행 ×2
터미널 분할 도구 tmux로 AI 코딩 에이전트 여러 개를 굴리는 법을 정리한 crystl.dev 가이드입니다. crystl은 에이전트 전용 macOS 터미널을 파는 회사라, 글 끝은 자사 제품 소개로 이어집니다.
- 왜 tmux인가: 터미널 창을 닫거나 SSH가 끊겨도 에이전트가 계속 돌고, 창 하나에 여러 에이전트를 담을 수 있으며, 다른 스크립트가 에이전트에게 입력하거나 화면을 읽어 올 수 있습니다.
- 먼저 내장 기능 확인: 에이전트 하나를 브랜치 하나에서 돌리는 경우라면
claude --worktree --tmux한 줄로 충분합니다. 이번에 Claude Code 도움말에서 이 옵션이 실제로 있는 것도 확인했습니다. - tmux의 한계: 어떤 에이전트가 승인을 기다리는지, 언제 끝났는지 tmux는 알지 못합니다. 화면 글자를 긁어서 추측하는 수밖에 없어요.
| 하고 싶은 일 | 명령 |
|---|---|
| 프로젝트별 세션 (없으면 생성) | tmux new-session -A -s api -c ~/code/api |
| 작업마다 창 하나 | tmux new-window -t api -n auth |
| 에이전트에게 지시 | send-keys -t api:auth -l "지시문" → 잠깐 대기 → send-keys … Enter |
| 멈추기 | send-keys -t api:auth C-c |
| 화면 읽기 | capture-pane -p -J -S -200 -t api:auth |
| 출력 계속 기록 | pipe-pane -o -t api:auth 'cat >> 로그파일' |
| 원격 서버 접속 | ssh devbox -t tmux new-session -A -s agents |
놓치기 쉬운 요령
- 세션 단위: 세션은 작업이 아니라 저장소마다 하나씩, 저장소 이름으로 만듭니다.
-l옵션: 지시문을 글자 그대로 보내게 합니다. 이게 없으면 문장 속 "Enter" 같은 단어가 실제 키 입력으로 바뀝니다.- 잠깐 대기: 지시문과 Enter 사이에 0.3초쯤 쉬어야 에이전트 입력창이 Enter를 놓치지 않습니다.
-J옵션: 화면을 읽을 때 붙여야 줄바꿈된 줄이 다시 이어집니다..tmux.conf설정: 스크롤백을 10만 줄로 늘리고(history-limit 100000), 에이전트가 창 이름을 바꾸지 못하게 막고(allow-rename off), 키 입력 지연을 없애는(escape-time 10) 설정을 추천합니다.
재부팅하면 세션도 기록도 모두 사라집니다. 그래서 기사의 결론은 원격 서버와 불안정한 SSH 환경에는 여전히 tmux가 정답이라는 것입니다.
정리
- 에이전트 하나를 브랜치 하나에서 돌린다면
claude --worktree --tmux한 줄로 충분하다. - 세션은 작업이 아니라 저장소마다 하나, 작업마다 창 하나로 나눈다.
send-keys는-l로 글자 그대로 보내고, 0.3초쯤 쉰 뒤 Enter를 따로 보낸다. 화면을 읽는capture-pane에는-J를 붙인다.- tmux는 어떤 에이전트가 승인을 기다리는지, 언제 끝났는지 알지 못하고, 재부팅하면 세션과 기록이 모두 사라진다.
- 그래도 원격 서버와 불안정한 SSH 환경에는 여전히 tmux가 정답이라는 게 기사의 결론이다. 기사를 쓴 crystl은 에이전트용 터미널을 파는 회사다.
이 대화, 이어서 해 보기
글 주소와 함께 질문이 채워진 채로 열립니다.