
병렬 Claude Code 세션을 위한 상태 표시줄과 호출이 필요한 세션으로 즉시 이동하는 단축키를 만들었습니다
요약
여러 개의 Claude Code 세션을 병렬로 사용할 때, 권한 승인이 필요한 세션을 시각적으로 확인하고 즉시 이동할 수 있게 돕는 도구인 cctap을 소개합니다. 상태 표시줄을 통해 세션 상태를 모니터링하고 OS 레벨의 단축키로 세션 간 전환을 최적화합니다.
핵심 포인트
- 병렬 Claude Code 세션의 상태를 보여주는 한 줄 상태 표시줄 제공
- 권한 승인이 필요한 세션을 빨간색으로 표시하여 즉각 인지 가능
- OS 레벨 키 설정을 통해 필요한 세션으로 즉시 이동하는 단축키 지원
- Unix 소켓과 로컬 데몬을 활용한 가볍고 의존성 없는 구현
- MIT 라이선스로 제공되며 네트워크 호출이 없는 보안 중심 설계
노트북에서 3~4개의 Claude Code 세션을 병렬 터미널로 작업할 때(때로는 작은 창으로, 때로는 전체 화면으로 배치하여), 최적화된 느낌이 들지 않을 때가 있습니다. 특히 프로세스를 더 자세히 확인하기 위해 전체 화면으로 사용할 때, 세션 중 하나가 멈춰서 권한 승인 프롬프트(permission prompt)를 기다리는 경우가 자주 발생합니다. 다른 개발자들과 이야기를 나누어 보니, 작은 상태 표시기(status indicator)가 있으면 좋겠다는 피드백을 받았습니다.
cctap은 모든 세션에 번호와 이름을 부여하는 한 줄짜리 상태 표시줄 추가 기능을 제공하며, 사용자의 확인을 기다리는 세션은 빨간색으로 변하며 텍스트로 상태를 알려줍니다. 또한, 사용자의 확인이 필요한 세션으로 즉시 이동할 수 있는 시스템 키(system key) 옵션도 추가했습니다. cctap은 단 두 줄의 명령어로 설치할 수 있습니다. 시각적 상태 표시를 위한 한 줄과 키 설정(key setup)을 위한 한 줄입니다: npx @chipmates/cctap install-hooks 및 npx @chipmates/cctap keys setup. 이 도구는 Unix 소켓(unix socket)을 통해 작은 로컬 데몬(local daemon)에 보고하는 훅(hook)을 등록합니다. 모든 세션은 동일한 보드를 그립니다.
저는 요구 사항을 작성했고, Fable 5가 계획을 세우고 사양(specs)을 작성했으며, 구현은 Opus 5에게 위임했고, 이후 Fable 5가 검증했습니다. 세션 진행 과정에서 저는 exec 형태(exec form)로 실행되는 훅은 claude 프로세스를 직접적인 부모(parent)로 가진다는 것을 배웠습니다. 덕분에 cctap은 별도의 알림 없이도 세션이 여전히 살아 있는지, 그리고 어떤 터미널에 속해 있는지를 알 수 있습니다. claude -p를 사용한 헤드리스 실행(headless run)은 Stop 훅을 발생시키지 않습니다. 턴(turn)을 계산하는 모든 작업은 이 점을 고려해야 합니다.
Claude Code 내부의 키 바인딩(Keybindings)은 외부 명령어를 실행할 수 없습니다. 저는 처음에 세션 내부에서 타이핑 명령어로 점프 기능을 만들었다가 이 사실을 어렵게 깨달았습니다. jj를 입력하면 훅이 이를 포착하여 모델의 턴(model turn)을 소모하지 않게 설계했습니다. 작동은 했지만, 저는 같은 날 바로 이를 삭제했습니다. 그것은 'Schnapsidee(엉뚱한 생각)'였기 때문입니다. Claude가 작업 중일 때 입력한 프롬프트는 턴이 끝날 때에야 훅에 도달하므로, 제가 유휴 상태(idle)일 때는 점프가 즉각적이었지만, 정작 다른 세션이 저를 필요로 하는 시점에는 너무 늦게 작동했습니다. 그래서 키 설정을 OS 레벨로 옮겨야 했습니다. MIT 라이선스이며, 의존성(dependencies)이 없고, 네트워크 호출도 없습니다. 마음에 드셨으면 좋겠습니다.
코드: https://github.com/chipmates/cctap를 /u/AgoraCosmica 님이 제출했습니다. [링크] [댓글들]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기