# CodeRouter CLI 및 문제 해결

CodeRouter에는 두 가지 명령 세트가 있습니다. coderouter로도 설치되는 cr은 로그인, 구독 관리, 에이전트 실행을 담당합니다. cmux coderouter는 로그인된 cmux 앱을 통해 팀의 Claude 계정과 Cloud 머신 사용량을 관리하고, 나머지 모든 명령은 cr에 넘깁니다.

## 설치와 로그인

설치 프로그램은 체크섬이 검증된 바이너리를 ~/.coderouter/bin에 내려받고, cr을 그 바이너리에 연결하며, 해당 디렉터리를 셸의 PATH에 추가합니다. 다시 실행하면 업데이트됩니다. arm64와 x64의 macOS와 Linux를 지원합니다. 같은 CLI가 npm과 PyPI에도 게시되어 있습니다.

```
curl -fsSL https://cmux.com/coderouter/install.sh | sh
npm install -g coderouter
uv tool install coderouter
```

cr login은 브라우저를 열고 대체 링크를 출력합니다. 로컬 브라우저가 없으면 --device-auth를 사용해 다른 기기에서 링크를 열거나, cr login --code로 코드나 매직 링크를 붙여넣으세요.

```
cr login
cr login --device-auth
cr login --code [code-or-url]
cr logout
```

## cr

명령 없이 실행하면 cr은 계정과 사용량을 보여줍니다. 에이전트 라우팅은 항상 명시적입니다. 일반 codex, opencode, pi는 CodeRouter 없이도 그대로 동작합니다.

```
cr                             # account and usage summary
cr codex [arguments...]
cr opencode [arguments...]
cr pi [arguments...]           # experimental
cr naked [arguments...]        # plain Codex, CodeRouter bypassed (alias: direct)
cr add                         # choose a provider
cr add codex
cr add claude [--label <name>] [--stdin]
cr add opencode
cr remove [account] [--yes]
cr transfer [account] [--to <team>] [--yes]
cr accounts [--watch] [--json] # aliases: list, ls, usage
cr org current | list | switch <name-or-id>
cr login [--api-key <key>] [--device-auth] [--code [code-or-url]]
cr logout
cr doctor
cr upgrade
```

개인 ChatGPT 워크스페이스와 팀 ChatGPT 워크스페이스가 같은 이메일을 쓸 수 있습니다. 워크스페이스마다 cr add codex를 한 번씩 실행하고 브라우저에서 워크스페이스를 선택하세요. CodeRouter는 이를 별도의 계정으로 유지합니다.

## cmux coderouter

이 명령은 cmux 앱을 통해 실행되므로 앱이 실행 중이고 로그인되어 있어야 합니다(cmux auth login). 기계가 읽을 수 있는 출력에는 --json을, 선택된 팀이 아닌 다른 팀을 대상으로 하려면 --team <id>를 추가하세요.

```
cmux coderouter status
cmux coderouter machines
cmux coderouter claude list
cmux coderouter claude add oauth-token [--label <name>] [--stdin]
cmux coderouter claude add api-key [--label <name>] [--stdin]
cmux coderouter claude add bedrock [--label <name>] [--region <region>] [--model <claude-id>=<bedrock-id>]...
cmux coderouter claude disable <account>
cmux coderouter claude enable <account>
cmux coderouter claude remove <account>
cmux coderouter claude clear
cmux coderouter agent <claude|codex|opencode|pi> [vm-agent-options] -- <prompt>
```

claude add oauth-token은 CLAUDE\_CODE\_OAUTH\_TOKEN 또는 --stdin에서 읽습니다. 둘 다 없는 터미널에서는 claude setup-token을 실행하고 그 명령이 출력한 토큰을 읽습니다. claude add api-key는 ANTHROPIC\_API\_KEY, --stdin, 또는 숨겨진 프롬프트에서 읽습니다. claude add bedrock은 AWS\_ACCESS\_KEY\_ID, AWS\_SECRET\_ACCESS\_KEY, 선택 사항인 AWS\_SESSION\_TOKEN을 읽고, 리전은 --region, AWS\_REGION, 또는 AWS\_DEFAULT\_REGION에서 가져옵니다.

<account>에는 계정의 ID, 라벨, 또는 마스킹된 식별자를 쓸 수 있습니다. disable은 다시 enable할 때까지 계정을 순환에서 제외합니다.

그 밖의 모든 cmux coderouter 명령과 모든 cmux cr 명령은 cr을 그대로 실행합니다. cr이 없으면 cmux가 설치 프로그램 실행을 제안합니다. cmux는 자신의 환경 변수나 로그인 정보를 cr에 넘기지 않습니다.

```
cmux cr accounts
cmux coderouter login
```

## Cloud 머신 안에서

각 Cloud 머신에는 자체 cmux가 있으며, 그 CodeRouter 명령은 로그인이 필요 없습니다. 계정 관리는 Mac에서만 하므로 머신 안에서는 claude, login, logout이 거부됩니다.

```
cmux auth status [--json]
cmux coderouter status [--json]
cmux coderouter usage [--json|--tsv] [--days <n>]
cmux coderouter models
cmux coderouter accounts [--json]
cmux coderouter org current [--json]
cmux coderouter agent <claude|codex|opencode|pi> [--timeout <seconds>] [args...]
cr use [own|team|auto] [claude|codex|opencode] [--json]   # your own sign-in or the team's accounts
```

## 문제 해결

첫 번째 열의 메시지는 에이전트, cr, 또는 cmux가 출력하는 내용입니다.

| 메시지 또는 증상 | 해결 방법 |
| --- | --- |
| Sign in with \`cr login\` and retry. (또는: Missing coderouter route token.) | cr login을 실행하세요. API 클라이언트라면 키가 설정되어 있고 crk\_로 시작하는지 확인하세요. |
| Your coderouter session expired or was revoked. | cr login을 다시 실행하세요. 폐기된 API 키는 즉시 동작을 멈추므로 새 키를 만드세요. |
| No healthy Codex subscription is currently available. | cr을 실행해 각 계정의 상태를 확인하세요. cr add로 계정을 추가하거나 쿨다운이 끝나기를 기다리세요. 조직의 Cloud 머신이라면 계정을 팀과 공유하세요. |
| No Claude upstream account is configured for this team. | cr add claude 또는 cmux coderouter claude add로 계정을 추가하세요. 조직의 Cloud 머신이라면 팀과 공유하세요. |
| Every Claude upstream account of this team is cooling down or disabled. | 쿨다운이 끝난 후 재시도하거나, cmux coderouter claude enable로 비활성화된 계정을 활성화하거나, 다른 계정을 추가하세요. |
| Bedrock 계정에서 발생한 not\_found\_error | 해당 모델에 Bedrock 매핑이 없습니다. 계정을 제거하고 --model <claude-id>=<bedrock-id>를 붙여 다시 추가하세요. |
| The team's Bedrock account is missing a region. | 계정을 제거하고 --region을 붙이거나 AWS\_REGION을 설정한 상태로 다시 추가하세요. |
| CodeRouter CLI is not installed. | 설치 프로그램을 실행하거나, cmux cr이 설치를 제안할 때 y로 답하세요. |
| Codex is not installed or is not on PATH (또는 OpenCode, 또는 Pi). | 에이전트를 설치하세요. cr은 PATH에서 찾은 에이전트를 실행합니다. |
| \`codex\` resolves back to coderouter. | codex 명령이 cr을 가리키고 있습니다. 실제 Codex 실행 파일이 PATH에서 가장 먼저 오도록 하세요. |
| \`<model>\` is not a coderouter OpenCode model. | OpenCode Go 계정의 모델을 선택하거나, 다른 제공업체를 쓰려면 일반 opencode를 실행하세요. |
| cmux: OpenCode provider configuration is unavailable; retry in one minute. | 머신이 OpenCode 제공업체 목록을 내려받지 못했습니다. 1분 기다린 후 OpenCode를 다시 시작하세요. |
| CodeRouter: TLS edge unreachable, or route rejected (머신 안의 cmux auth status에 표시). | 머신이 CodeRouter에 연결할 수 없거나, CodeRouter가 머신의 자격 증명을 거부했습니다. 잠시 후 재시도하세요. 계속되면 머신 이름과 cmux auth status --json 출력을 첨부해 지원팀에 문의하세요. |
| coderouter is temporarily unavailable. Retry shortly. | CodeRouter나 계정 저장소를 잠시 사용할 수 없습니다. 재시도하고, 오류가 계속되면 요청 ID와 함께 보고하세요. |

## 진단

cr doctor는 cr의 로그인 여부와 사용 중인 CodeRouter 엔드포인트를 출력합니다. cmux coderouter status는 cmux 로그인 상태, 선택된 팀, 그 팀의 Claude 계정을 보여줍니다.

```
cr doctor
cmux coderouter status
```

## 도움 받기

실패한 요청을 보고할 때는 x-coderouter-request-id 응답 헤더 값을 포함하세요. 이 값으로 CodeRouter 기록에서 해당 요청을 찾을 수 있습니다.

Canonical: https://cmux.com/ko/docs/coderouter/cli

Documentation index: https://cmux.com/llms.txt
