Claude Code Agent View - 여러 에이전트 세션을 한 화면에서 관리하기
목차
개요
Anthropic이 Claude Code에 여러 세션을 한 화면에서 관리하는 Agent View를 추가했다. claude agents 명령으로 열리는 이 화면은 백그라운드에서 돌아가는 모든 세션의 상태를 표로 보여준다. 무엇이 실행 중인지, 무엇이 내 입력을 기다리는지, 무엇이 끝났는지를 한눈에 파악할 수 있다. 버그 수정, PR 리뷰, 로그 조사처럼 서로 독립적인 작업을 동시에 여러 개 굴릴 때 쓰는 기능이다. 현재 리서치 프리뷰 단계이며 Claude Code v2.1.139 이상이 필요하다.
Agent View란
무엇을 해결하는가
기존에는 여러 Claude Code 세션을 동시에 돌리려면 터미널 창을 여러 개 띄우고 각 transcript를 일일이 스크롤하며 확인해야 했다. Agent View는 이 흐름을 하나의 화면으로 압축한다. 새 세션을 디스패치하고, 각 세션의 상태를 한눈에 보고, 정말 필요한 세션에만 끼어든다. 세션은 터미널이 붙어 있지 않아도 백그라운드에서 계속 돌아간다. 같이 문제를 풀어가고 싶을 때는 해당 세션에 attach해서 평소처럼 대화형으로 쓰면 된다.
Agent View의 세션들은 서로 독립적으로 돌면서 결과를 사용자에게만 보고한다. 서브에이전트, 에이전트 팀, worktree와의 비교는 공식 문서의 Run agents in parallel 페이지에서 확인할 수 있다. 관리자는 조직 단위로 disableAgentView 관리 설정을 통해 Agent View를 끌 수 있다.
빠른 시작
셸에서 claude agents를 실행하면 하단에 입력창이 있고 세션이 시작될 때마다 행이 채워지는 표가 열린다. Esc를 누르면 언제든 빠져나올 수 있고, 세션은 계속 돌아간다.
1
claude agents
입력창에 프롬프트를 치고 Enter를 누르면 새 세션이 시작되며, 작업 중인지·내 답을 기다리는지·끝났는지를 보여주는 행으로 나타난다. 이를 반복하면 여러 세션을 병렬로 돌릴 수 있다. 행을 화살표 키로 선택하고 Space를 누르면 그 세션이 무엇을 하는지, 무엇을 필요로 하는지 엿볼 수 있고, 답장을 쳐서 Enter를 누르면 Agent View를 떠나지 않고 보낼 수 있다. 행에서 Enter 또는 →를 누르면 attach되어 전체 대화로 들어간다. 빈 프롬프트에서 ←를 누르면 detach되어 표로 돌아온다.
이미 열려 있는 대화형 세션을 Agent View로 가져오려면 그 안에서 /bg를 실행하면 된다. 셸에서 곧장 백그라운드 세션을 시작하려면 claude --bg "<prompt>"를 쓴다. claude 대신 claude agents를 기본 진입점으로 삼아 모든 작업을 여기서 디스패치하고, 전체 대화가 필요할 때만 attach하는 식으로 쓸 수도 있다.
세션 모니터링과 조작
claude agents를 실행하면 전체 터미널을 차지하고 모든 세션을 상태별로 묶어 보여준다. 핀 고정된 세션과 내 입력이 필요한 세션이 맨 위로 올라온다. 각 행은 세션 이름, 현재 활동, 마지막 변경으로부터 경과한 시간을 표시한다. config 디렉터리 아래의 모든 백그라운드 세션이 어느 프로젝트나 worktree에서 작업 중이든 함께 나타난다. 다른 터미널에서 열어둔 대화형 세션은 백그라운드로 보내기 전까지는 보이지 않고, 세션 안에서 도는 서브에이전트도 별도 행으로 나오지 않는다.
상태 아이콘 읽기
각 행의 아이콘은 두 가지 신호를 담는다. 표시기(indicator)는 세션의 상태를, 아이콘의 모양은 그 프로세스가 아직 살아 있는지를 알려준다.
| 표시기 | 상태 | 의미 |
|---|---|---|
| 애니메이션 | Working | Claude가 도구를 실행하거나 응답을 생성하는 중 |
| 노란색 | Needs input | 권한 결정이나 답을 기다리는 중 |
| 흐림 | Idle | 입력을 기다리지만 특정 질문에 막혀 있지는 않음 |
| 초록색 | Completed | 작업이 성공적으로 끝남 |
| 빨간색 | Failed | 작업이 오류로 끝남 |
| 회색 | Stopped | Ctrl+X 또는 claude stop으로 중지됨 |
아이콘 모양에서 ✻(또는 작업 중일 때의 애니메이션 ✽)는 세션이 살아 있어 바로 답장할 수 있다는 뜻이다. ∙는 프로세스가 종료됐지만 엿보기·답장·attach가 여전히 가능하다는 뜻으로, Claude가 멈췄던 지점부터 세션을 재시작한다. ✢는 /loop 세션이 반복 사이에 잠들어 있는 상태로, 행에 실행 횟수와 다음 반복까지의 카운트다운이 표시된다.
세션이 PR을 열면 그 행에 PR 링크와 CI 체크 상태 표시기가 나타난다. 대부분의 작업은 이 행에서 결과를 받게 되며, 체크가 통과하면 PR을 리뷰하고 머지하면 된다. 각 행의 한 줄 요약은 설정된 Haiku급 모델이 생성하는데, 세션이 작업 중일 때는 15초에 한 번 정도와 각 턴 종료 시 한 번씩 갱신된다.
엿보기와 답장, 그리고 attach
선택한 행에서 Space를 누르면 peek 패널이 열린다. 세션이 무엇을 필요로 하는지, 가장 최근 출력, 열어둔 PR을 보여주며 대부분은 이것으로 충분해 전체 transcript를 열 일이 없다. peek 패널에 답장을 치고 Enter를 누르면 해당 세션에 전달된다. 세션이 객관식 질문을 하는 중이면 패널에 선택지가 보이고 숫자 키로 고를 수 있다. 다른 종류로 막힌 세션은 Tab을 누르면 제안 답장이 입력창에 채워져 편집 후 보낼 수 있고, 답장 앞에 !를 붙이면 Bash 명령으로 보낸다.
행에서 Enter 또는 →를 누르면 attach되고, Alt+1부터 Alt+9로 그룹 내 N번째 세션에 바로 붙을 수 있다. attach하면 Agent View가 전체 대화형 세션으로 바뀌며, 그 디렉터리에서 claude를 실행한 것과 똑같이 동작한다. attach할 때 Claude가 자리를 비운 동안 일어난 일을 짧게 요약해준다. 빈 프롬프트에서 ←를 누르면 detach되어 Agent View로 돌아온다. detach는 백그라운드 세션을 절대 중지하지 않으며, ←, Ctrl+C, Ctrl+D, Ctrl+Z, /exit 모두 세션을 계속 돌게 둔다. 세션 안에서 끝내려면 /stop을 실행한다.
목록 정리와 필터, 단축키
Agent View는 세션을 상태별로 묶고, Ctrl+S로 디렉터리별 묶음으로 전환할 수 있다. 그룹 안에서 Ctrl+T로 핀 고정, Shift+↑·Shift+↓로 순서 변경, 그룹 헤더에서 Enter로 접기를 할 수 있다. 세션을 지우려면 Ctrl+X로 중지하고 2초 안에 Ctrl+X를 한 번 더 누른다. 오래된 완료 세션은 … N more 행으로 접히지만, 실패한 세션과 PR이 열린 세션은 항상 보인다.
디스패치 입력창에 필터를 치면 디스패치 대신 목록을 거른다.
| 필터 | 보여주는 것 |
|---|---|
| a:이름 | 해당 이름의 에이전트를 돌리는 세션 |
| s:상태 | 해당 상태의 세션 (예: s:blocked) |
| #번호 또는 PR URL | 그 PR을 작업 중인 세션 |
?를 누르면 모든 단축키를 볼 수 있다. 자주 쓰는 것들은 다음과 같다.
| 단축키 | 동작 |
|---|---|
| ↑ / ↓ | 행 이동 |
| Enter | 선택 세션에 attach, 입력창에 텍스트가 있으면 디스패치 |
| Space | 선택 세션의 peek 패널 열기/닫기 |
| Shift+Enter | 디스패치 후 즉시 attach |
| Alt+1 ~ Alt+9 | 포커스 그룹의 N번째 세션에 attach |
| Ctrl+S | 상태별/디렉터리별 묶음 전환 |
| Ctrl+T | 선택 세션 핀 고정/해제 |
| Ctrl+R | 선택 세션 이름 변경 |
| Ctrl+G | 디스패치 프롬프트를 $EDITOR에서 열기 |
| Ctrl+X | 세션 중지, 2초 안에 다시 누르면 삭제 |
| Esc | peek 패널 닫기, 입력 지우기, 종료 |
새 에이전트 디스패치
새 백그라운드 세션은 Agent View에서, 대화형 세션 안에서, 셸에서 시작할 수 있다.
Agent View 하단 입력창에 프롬프트를 치고 Enter를 누르면 새 백그라운드 세션이 시작되며 이름은 프롬프트에서 자동 생성된다. 프롬프트 앞에 특정 표기를 붙여 세션 시작 방식을 제어할 수 있다.
| 입력 | 효과 |
|---|---|
| 에이전트이름 프롬프트 | 첫 단어가 커스텀 서브에이전트 이름과 일치하면 그 서브에이전트가 메인 에이전트로 실행 |
| @에이전트이름 | 프롬프트 어디서든 커스텀 서브에이전트를 멘션해 메인 에이전트로 실행 |
| @저장소 | Agent View를 연 디렉터리 아래의 저장소를 멘션해 거기서 세션 실행 |
| /스킬 | skill을 프롬프트로 디스패치 |
| #번호 또는 PR URL | 그 PR을 작업 중인 세션이 있으면 디스패치 대신 선택 |
| Shift+Enter | 디스패치 후 즉시 새 세션에 attach |
대화형 세션 안에서는 /background(별칭 /bg)로 현재 대화를 detach하고 계속 돌게 둘 수 있다. 셸에서는 --bg로 곧장 백그라운드로 가는 세션을 시작하고, --agent와 조합해 특정 서브에이전트를 메인 에이전트로 돌릴 수 있다.
1
2
claude --bg "investigate the flaky SettingsChangeDetector test"
claude --agent code-reviewer --bg "address review comments on PR 1234"
모든 백그라운드 세션은 작업 디렉터리에서 시작하지만 그곳에 파일을 쓰는 것은 차단된다. 세션이 파일을 편집해야 할 때 Claude가 자동으로 .claude/worktrees/ 아래의 격리된 git worktree로 옮긴다. 덕분에 병렬 세션들이 같은 체크아웃을 읽으면서도 각자 자기 worktree에만 쓴다. 이미 worktree 안이거나, 작업 디렉터리가 git 저장소가 아니거나, 작업 디렉터리 밖에 쓸 때는 이 차단이 적용되지 않는다. worktree는 세션을 삭제할 때 제거되므로, 유지하고 싶은 변경은 삭제 전에 머지하거나 push해야 한다.
백그라운드 세션은 어떻게 호스팅되는가
백그라운드 세션은 사용자별 supervisor 프로세스가 호스팅하며, 터미널이나 Agent View와는 별개다. 처음 세션을 백그라운드로 보내거나 Agent View를 열 때 자동으로 시작되고, 사용자가 직접 관리하지 않는다. supervisor와 그 세션들은 대화형 세션과 같은 자격 증명으로 인증하며 모델 API 외에 추가 네트워크 연결을 만들지 않는다.
각 백그라운드 세션은 자체 Claude Code 프로세스로, 터미널이 아니라 supervisor에 연결된다. 세션이 끝나고 약 한 시간 동안 attach 없이 방치되면 supervisor가 그 프로세스를 멈춰 리소스를 회수한다. transcript와 상태는 디스크에 남아 있어, 다음에 attach·peek·답장하면 supervisor가 멈췄던 지점부터 새 프로세스를 시작한다. auto-updater가 바이너리를 교체하면 supervisor가 새 버전으로 재시작하는데, 백그라운드 세션은 분리된 프로세스라 재시작을 거쳐도 계속 돌고 새 supervisor가 다시 연결한다.
세션 상태는 Claude Code config 디렉터리 아래에 저장된다.
| 경로 | 내용 |
|---|---|
| ~/.claude/daemon.log | supervisor 로그 |
| ~/.claude/daemon/roster.json | 재시작 후 재연결에 쓰이는 백그라운드 세션 목록 |
| ~/.claude/jobs/[id]/state.json | Agent View에 표시되는 세션별 상태 |
셸에서도 짧은 ID로 세션을 관리할 수 있다.
| 명령 | 용도 |
|---|---|
| claude agents | Agent View 열기 |
| claude attach [id] | 이 터미널에서 세션에 attach |
| claude logs [id] | 세션의 최근 출력 출력 |
| claude stop [id] | 세션 중지 (claude kill도 가능) |
| claude respawn [id] | 중지된 세션을 대화 그대로 재시작 |
| claude respawn –all | 중지된 모든 세션 재시작 |
| claude rm [id] | 목록에서 세션 제거 |
백그라운드 에이전트와 Agent View를 완전히 끄려면 disableAgentView 설정을 true로 하거나 CLAUDE_CODE_DISABLE_AGENT_VIEW 환경 변수를 설정한다.
제약 사항
Agent View는 리서치 프리뷰이며 다음 제약을 알아둘 필요가 있다.
| 항목 | 설명 |
|---|---|
| Rate limit | 백그라운드 세션도 대화형 세션과 똑같이 구독 사용량을 소모하므로, 에이전트 10개를 병렬로 돌리면 quota가 약 10배 빠르게 닳는다 |
| 로컬 실행 | 백그라운드 세션은 사용자 머신에서 돌며, 머신이 절전이나 종료되면 멈춘다 |
| worktree 삭제 | 자기 worktree에서 파일을 편집한 세션을 삭제하면 worktree도 함께 사라지므로 그 전에 변경을 머지하거나 push해야 한다 |
머신이 절전이나 종료된 뒤 세션이 stopped로 보이면 attach·peek·답장으로 다시 시작하거나 claude respawn --all을 실행한다. .claude/worktrees/가 쌓이면 프로젝트 디렉터리에서 git worktree list로 남은 항목을 확인하고 git worktree remove <path>로 정리한다.
결론
Agent View는 여러 코딩 에이전트를 동시에 굴리는 작업 방식을 터미널 창 여러 개에서 단일 표 화면으로 옮긴다. 독립적인 작업을 병렬로 디스패치하고, 상태 아이콘으로 진행 상황을 훑고, 필요한 세션에만 끼어들면 된다. 파일 편집은 worktree로 자동 격리되고, 세션은 supervisor 프로세스 덕분에 터미널 없이도 계속 돈다. 다만 병렬 세션 수만큼 구독 사용량이 빠르게 소모되고, 머신 절전 시 세션이 멈추는 점은 디스패치 전에 고려해야 한다.