콘텐츠로 이동

Claude Code

Claude Code에는 공식 Chorus 플러그인이 있습니다. 대화형 Claude Code 세션에서 Chorus 도구와 워크플로 스킬을 지원하며, 지원되는 Chorus 데몬 백엔드로도 실행할 수 있습니다.

설치 전에 에이전트 액세스 준비에 따라 에이전트 키를 만드세요.

백그라운드 자식 에이전트(0.22.0)

섹션 제목: “백그라운드 자식 에이전트(0.22.0)”

Claude daemon 실행은 주 턴 이후 기본 60분(3600000 ms) 동안 자식을 기다립니다. CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS가 CHORUS_CLAUDE_BG_WAIT_CEILING_MS보다 우선하며 전체 실행 제한이 아닙니다. 부모는 완료 결과를 수집하거나 자식을 명시적으로 중지한 뒤 턴을 끝내야 합니다. 강제 종료된 자식이 있으면 실제 종료 코드가 0이어도 비정상이며 시작점 아이디어나 작업에 댓글을 게시하려고 합니다. 상태 복구나 새 자동 재시도는 없습니다. 0/빈 값 위험, 설정, 진단은 daemon 시간 제한 설정을 참조하세요.

가장 빠른 방법은 chorus CLI로, 플러그인을 설치하고 인증 정보를 대신 저장해 줍니다.

Terminal window
npm install --global @chorus-aidlc/chorus
chorus agents add --agents claude

프롬프트가 나오면 Chorus URL과 에이전트 키를 입력합니다. chorus agents add는 claude plugin marketplace add / claude plugin install을 대신 실행하고, CHORUS_URL, CHORUS_API_KEY, CHORUS_AGENT_PROFILE를 사용자 전역 ~/.claude/settings.json의 env 블록에 쓰므로, 대화형 Claude Code 세션이 수동 환경 설정 없이 인증합니다. 그 뒤 Claude Code를 재시작하세요.

직접 설치하려면, 시작하는 셸에서 인증 정보를 설정합니다.

Terminal window
export CHORUS_URL="https://chorus.example.com"
export CHORUS_API_KEY="cho_REDACTED"

그런 다음 Claude Code 안에서 플러그인을 추가합니다.

/plugin marketplace add Chorus-AIDLC/chorus
/plugin install chorus@chorus-plugins

설치 후 Claude Code를 재시작합니다.

대화형 Claude Code 세션에서만 Chorus를 사용한다면 이 섹션을 건너뛰세요. 그렇지 않다면 에이전트 런타임 연결에 따라 백엔드로 claude-code를 선택합니다. Chorus 데몬 운영으로 온라인 상태를 유지하기 전에, 포그라운드에서 연결을 확인하세요.

깨울 때마다 하나의 claude -p 프로세스를 시작하고 턴이 끝나면 종료하는 방식은 유지됩니다. Chorus는 이제 양방향 stream-json 입출력을 사용하며 제어 응답을 위해 연결을 열어 둡니다. 기존 세션과 claude --resume은 계속 사용할 수 있습니다. 일반 텍스트 대체 경로나 전송 전환 옵션은 없습니다. Linux에서 Claude Code 2.1.283 및 2.1.284로 실제 실행을 검증했습니다. 이는 검증을 마친 버전일 뿐, 모든 Claude Code 릴리스와의 호환을 보장하는 최소 버전은 아닙니다.

  • 중단: 먼저 프로토콜 중단을 보냅니다. sigintTimeoutMs 안에 멈추지 않으면 프로세스 트리를 강제로 종료합니다. 기본값은 기존과 같은 10초입니다.
  • 제한 도구: --chorus-only 모드에서는 Chorus 외 도구가 명시적인 거부 응답을 받으며, 이 응답은 에이전트에게 Chorus 도구를 사용하거나 Chorus 댓글로 질문하도록 안내합니다. 로그에는 거부된 도구 이름만 기록하고 입력은 기록하지 않습니다. YOLO 동작은 유지됩니다. Chorus 0.22.2부터는 아래에 설명한 대로 도구가 제거되기도 합니다.
  • 질문: 데몬 실행은 YOLO를 포함해 모두 AskUserQuestion을 비활성화합니다. 터미널에서 답할 사람이 없으므로, 에이전트는 Chorus 댓글이나 요구사항 구체화로 질문해야 합니다. 대화형 Claude Code 세션의 질문 흐름은 그대로입니다.

--allowedTools는 도구를 자동 승인할 뿐 제거하지는 않습니다. Chorus 0.22.2부터 --chorus-only 깨우기는 --tools "mcp__chorus__*,Task,Agent"와 --strict-mcp-config를 전달하므로, 에이전트에는 이 데몬의 Chorus MCP 도구와 하위 에이전트 디스패치(Task / Agent)만 남습니다. Bash나 파일 편집 같은 내장 도구는 제거되고, 사용자의 MCP 서버는 로드되지 않으며, Edit, Write, NotebookEdit도 이름으로 거부됩니다. 하위 에이전트도 같은 도구 집합을 상속하므로 셸에 접근할 수 없습니다.

데몬은 깨울 때마다 stream-json init 프레임의 도구 목록을 이 허용 목록과 대조합니다. 다른 도구가 하나라도 있으면 프로세스 트리를 강제 종료하고(POSIX에서는 프로세스 그룹 SIGKILL, Windows에서는 taskkill /T /F), init 이후의 프레임은 하나도 전달하지 않으며, 유출된 도구 이름을 담은 실패한 깨우기를 기록합니다. init 프레임에 도구 목록이 없으면 데몬은 제한을 확인할 수 없다는 경고를 로그에 남기고 계속 진행합니다.

업그레이드 후에는 호스트에 설치된 실제 Claude Code 버전으로 체크인, 후속 턴, 중단 및 재개를 확인하세요. 프로토콜 문제는 데몬 로그, 계속 진행하는 방법은 세션 중단과 재개를 참고하세요.

Claude Code에서 /plugin list를 실행해 chorus@chorus-plugins가 활성화되어 있는지 확인합니다. 그런 다음 Claude Code에 check in to chorus를 요청합니다. 성공하면 응답이 연결된 에이전트와 그 권한을 보여 줍니다.

데몬 모드에서는 Chorus의 설정 → 에이전트를 열고 예상한 호스트와 작업 디렉터리가 온라인인지 확인합니다.

  • 플러그인은 Chorus MCP 도구, 워크플로 스킬, 그리고 수명 주기 통합을 제공합니다.
  • 데몬 모드는 원격 시작, 후속 지시, 중단, 재개를 지원합니다.
  • 원격 작업은 등록된 작업 디렉터리 안에서 로컬 운영체제 사용자가 사용할 수 있는 모든 것에 접근할 수 있습니다. 신뢰하는 디렉터리만 등록하세요.

공통 운영 절차는 원격 에이전트에서 작업 시작과 세션 중단과 재개를 사용하세요.

자신의 터미널에서 진행 중인 대화를 넘겨받으려면, 채팅 UI에서 해당 세션 ID를 복사한 뒤 (대화 기록 헤더의 세션 ID 복사), 그 대화의 작업 디렉터리에서 실행합니다.

Terminal window
claude --resume <sessionId>

복사한 ID는 Chorus가 세션을 재개할 때 Claude Code에 전달하는 것과 같은 ID입니다. Claude Code 백엔드에서는 이 ID가 세션이 속한 아이디어의 UUID입니다. 전체 흐름은 세션 중단과 재개를 참고하세요.

  • 플러그인이 나타나지 않음: Claude Code를 재시작한 뒤 /plugin list를 확인합니다.
  • 체크인이 승인되지 않음: 에이전트 키를 만들거나 교체한 다음 chorus agents add를 다시 실행하고(또는 ~/.claude/settings.json의 env 블록을 업데이트하고) Claude Code를 재시작합니다.
  • 데몬이 오프라인: chorus daemon status를 실행한 뒤 에이전트 연결 문제 해결을 참고합니다.
  • 잘못된 작업 디렉터리가 온라인으로 표시됨: 의도한 절대 경로의 --cwd 값으로 데몬을 다시 설치합니다.

플러그인이 관리하는 서브에이전트 세션은 에이전트 유형을 이름으로 사용합니다. 같은 유형의 병렬 서브에이전트는 하나의 Chorus 세션을 공유할 수 있으며, 세션은 마지막 서브에이전트가 끝날 때까지 열려 있습니다. 따라서 하나가 먼저 종료되어도 아직 실행 중인 다른 서브에이전트의 작업 추적이 끊기지 않습니다.