문서 검색

문제 해결

앱 화면에 실제로 나오는 오류 문구를 증상으로 삼아, 키 · cob · 실행 멈춤 · 코드 모드 · 프리뷰에서 원인과 해결을 찾습니다.

상태: 제공 중 마지막 확인:
목차

막혔을 때 화면에 나온 문구를 아래 표의 「증상」 칸에서 찾으세요. 증상 칸의 글자는 앱 소스의 한국어를 그대로 옮긴 것이고, <…> 는 상황마다 달라지는 자리입니다. 이 쪽의 증상 문구는 2026-10-08 에 내려받을 수 있던 0.1.0 의 소스에도 같은 글자로 있습니다. 증상마다 자세한 설명이 있는 쪽을 함께 달았습니다.

참고

이 쪽은 소스를 읽고 정리한 것입니다. 앱 화면에서 모든 증상을 일으켜 본 것은 아닙니다. 실행이 멈추는 두 경우처럼 직접 확인한 범위가 따로 있는 곳은 그 표 위에 밝혀 두었습니다.

먼저 해 볼 것

  1. 카드나 배너의 글을 끝까지 읽습니다. 앱의 안내는 대부분 원인과 할 일을 한 문장으로 말합니다.
  2. 「설정」 › 「빌더」에서 「다시 확인」을 누릅니다. cob · 빌더 기계 API · bricks · 레시피 카탈로그가 갖춰졌는지 한 번에 보여 줍니다(빌더).
  3. 터미널에서 <명령> --version 이 되는지 확인합니다. 앱이 찾는 도구가 컴퓨터에 있는지 가리는 가장 빠른 길입니다(준비물).
  4. 계획을 실행하다 멈췄다면 아래쪽 「디버그 로그」를 봅니다. 실행하는 동안 cob 가 낸 출력이 담겨 있습니다(코드 모드).

채팅이 계획을 세우지 못할 때

요구를 보냈는데 계획 카드 대신 안내가 나오는 경우입니다. 「빌더가 멈췄습니다」 카드의 글이 원인을 말하고, 설정을 가리키는 글이면 「설정 열기」 단추가 함께 나옵니다. 같은 요구를 다시 보내려면 「다시 시도」를 누릅니다(조립 계획 읽기).

증상 원인 해결
「<공급자 id> API 키가 없습니다. 설정 › AI 공급자에서 키를 저장하거나 <환경 변수> 를 설정하세요.」 기본 공급자의 키가 OS 키 저장소에도 환경 변수에도 없습니다. 다른 공급자에 키가 있어도 그쪽으로 넘어가지 않습니다 「설정 열기」로 키를 저장하고 「다시 시도」를 누릅니다. 환경 변수로 줄 때는 앱 프로세스가 그 변수를 가지고 있어야 합니다(AI 공급자)
「<공급자> 모델이 설정되지 않았습니다. 설정 › AI 공급자에서 모델 ID를 선택하거나 입력하세요.」 Ollama 와 사용자 지정 공급자는 기본 모델이 없어 모델 ID 를 직접 정해야 합니다 「기본 모델」 칸에 적거나 「모델 목록 조회」로 고릅니다
「연결 URL이 설정되지 않았거나 올바르지 않습니다. 설정 › AI 공급자에서 API base URL을 적용하세요.」 연결 주소가 비었거나 규칙에 어긋납니다. 사용자 지정 공급자는 주소를 적용하기 전에는 쓸 수 없습니다 「API base URL」 칸에 주소를 쓰고 「URL 적용」을 누릅니다
「키가 거부되었습니다. …」 · 「이 모델에 접근할 수 없습니다. …」 · 「모델 또는 URL을 찾지 못했습니다. …」 · 「공급자 요청 한도를 넘었습니다. …」 공급자가 각각 HTTP 401 · 403 · 404 · 429 로 답했습니다 키 · 모델 권한 · 모델 ID 와 URL 을 확인합니다. 한도는 잠시 뒤 다시 시도합니다. 「연결 확인」으로 먼저 점검할 수 있습니다
「모델 응답 시간이 초과되었습니다. 설정 › AI 공급자를 확인하고 다시 시도하세요.」 응답이 60초 안에 끝나지 않았습니다 연결 주소 · 모델을 확인하고 다시 시도합니다
「모델 응답을 받지 못했습니다. 설정 › AI 공급자에서 URL·모델·키를 확인하고 다시 시도하세요.」 위에 따로 적은 이유가 아닌 모델 호출 실패입니다. 앱은 공급자가 돌려준 오류 내용을 화면에 내지 않습니다 URL · 모델 · 키를 확인하고 다시 시도합니다. 「연결 확인」이 통과해도 이 안내가 나올 수 있습니다
「키를 저장하지 못했습니다 — 키 저장소를 확인하세요」 키를 OS 키 저장소에 넣지 못했습니다. Linux 에서는 앱이 키 저장소 도구를 부를 때 D-Bus 환경 변수를 넘기지 않아 이렇게 될 수 있습니다(소스 기준) Linux 에서는 환경 변수로 키를 줍니다(준비물)
「이 기기에서는 OS 키 저장소를 쓸 수 없습니다 — …」 키 저장소를 쓸 수 없는 컴퓨터입니다. Linux 에서 secret-tool 명령이 없을 때가 해당합니다 안내가 알려 주는 환경 변수로 키를 줍니다. 키를 파일로 저장하는 길은 없습니다

연결 확인 단추가 보여 주는 결과 줄(「키가 거부되었습니다 — 키를 확인하세요 (HTTP 401)」 등)의 뜻은 AI 공급자에 표로 있습니다.

cob 와 bricks

프로젝트를 조립하는 cob 가 준비되지 않았을 때입니다. 같은 문제가 채팅에는 카드로, 「설정」 › 「빌더」에는 한 줄로 나옵니다. 설치 · 갱신 명령은 앱이 보여 주는 것을 복사해 쓰세요. 이 쪽은 그 명령을 적지 않습니다.

증상 원인 해결
「cob 실행 파일을 찾지 못했습니다」(채팅) · 「PATH 에서 찾지 못했습니다」(설정) cob 가 설치되어 있지 않거나, 앱이 읽은 PATH 에 없습니다 카드의 「명령 복사」로 설치 명령을 복사해 터미널에서 실행한 뒤 「다시 시도」(설정에서는 「다시 확인」). 터미널에서는 되는데 앱에서만 안 되면 아래 「터미널에서는 되는데 앱에서는 안 될 때」
「cob 갱신이 필요합니다」(채팅) · 「plan --spec 이전 버전입니다 — 갱신이 필요합니다」(설정) 설치된 cob 가 빌더 기계 API(plan --spec) 이전 버전입니다 「명령 복사」로 복사한 명령으로 갱신하고 다시 시도합니다
「bricks 체크아웃이 없습니다」 cob 가 조립할 브릭 목록(홈 폴더 아래 .cob/bricks)이 이 컴퓨터에 없습니다 「bricks 받기」를 누르거나 터미널에서 cob doctor --fix 를 실행합니다
「bricks 받기」를 눌렀는데 「bricks 체크아웃이 없습니다」가 다시 나옴 내려받기가 끝나지 않았습니다. 이 단추는 cob doctor --fix 의 종료 코드를 보지 않고, 이어서 계획을 다시 만들어 본 결과로 판단합니다 터미널에서 cob doctor --fix 를 직접 실행해 메시지를 읽습니다. 비공개 저장소 읽기 권한이 없으면 내려받기가 실패합니다(준비물)
「bricks 를 받지 못했습니다.」 내려받기를 시작하지 못했거나 도중에 예외가 났습니다. 막힌 호스트가 있으면 다음 줄에 「샌드박스가 막은 호스트: …」가 붙습니다 붙은 호스트를 샌드박스의 허용 목록과 견주어 봅니다. 목록은 앱에서 고칠 수 없습니다
「레시피 카탈로그를 찾지 못했습니다」(채팅) · 「레시피 목록을 찾지 못했습니다 — cob 갱신이 필요합니다」(설정) cob 가 레시피를 한 건도 돌려주지 않았습니다 cob 를 갱신하고 다시 시도합니다. bricks 체크아웃이 없다면 먼저 받습니다
「cob 상태를 확인하지 못했습니다 — 다시 확인해 보세요.」 「설정」 › 「빌더」의 점검 자체가 실패했습니다 「다시 확인」을 누릅니다
「cob catalog 실패 (종료 코드 N)」 · 「cob plan 실패 (종료 코드 N)」 · 「cob 응답을 해석하지 못했습니다」 cob 쪽 문제입니다 cob 를 갱신하고 다시 시도합니다

각 안내의 화면과 준비 방법은 빌더, 준비물에 있습니다.

실행이 멈췄을 때

「확인하고 실행」 뒤에 실행 카드의 빨간 상자가 나오는 경우입니다. 제목 「<단계>에서 멈췄습니다」가 멈춘 단계를, 아래의 글이 cob 가 남긴 사유를 알려 줍니다. 상자 읽는 법과 단계별로 다시 돌리는 방법은 실행 결과와 게시에 있습니다.

주의

빠른 시작을 그대로 따라 하면 아래 표의 「프로젝트 생성」 줄과 「Pages 게시」 줄을 만날 수 있습니다. 첫 화면의 예시 단추 세 개는 모두 레시피가 있는 계획이었고(2026-10-09 확인), 빠른 시작 3단계의 「새 프로젝트 만들기」는 「git 저장소로 초기화」가, 계획 카드의 「소개 페이지 (Pages)」는 처음부터 켜져 있습니다. 두 줄은 소스를 읽고 같은 계열의 cob 를 임시 폴더에서 실행해 확인했습니다. 앱 화면에서 직접 돌려 보지는 않았습니다.

증상 원인 해결
「사전 점검에서 멈췄습니다」 cob 의 사전 점검이 실패했습니다. 점검 대상은 새 프로젝트가 아니라 생성 위치 폴더입니다. gh 로그인이 안 되어 있으면 여기서 멈추고, 그 폴더에 .fvmrc 가 있는데 SDK 가 맞지 않거나 그 폴더의 GitHub 저장소(origin)에 push 권한이 없거나 Actions 가 꺼져 있어도 멈춥니다 터미널에서 gh auth status 가 통과하는지 확인하고, 사유를 읽어 고친 뒤 「다시 실행」을 누릅니다
「프로젝트 생성에서 멈췄습니다」 — 사유에 「사용 중단된 동기화 참조가 도너 브릭에 남았습니다 … 신규 생성은 --base kernel을 사용하세요」 레시피가 있는 계획입니다. cob 는 레시피 기반 생성을 시작할 때 bricks 의 monorepo · app · serverpod_backend 브릭을 훑어, 사용 중단된 동기화 코드(co_sync)가 남아 있으면 프로젝트를 쓰기 전에 멈춥니다. 그래서 프로젝트 폴더가 만들어지지 않고 「새 프로젝트 열기」도 나오지 않습니다. 걸린 것이 파일 이름이면 「사용 중단된 동기화 파일이 도너 브릭에 남았습니다」로 나옵니다 그 참조가 bricks 에 남아 있는 동안 앱에서 쓸 수 있는 우회는 없습니다. 레시피를 빼거나 이 검사를 건너뛰고 실행하는 선택이 앱에 없습니다. 카드의 「레시피」 줄이 「없음 — 기본 조립」이면 이 검사를 거치지 않습니다. cob 와 bricks 가 고쳐진 뒤 다시 시도하세요. 메시지는 카드의 사유로 보이거나 아래쪽 「디버그 로그」에서 찾을 수 있습니다(실행 결과와 게시)
「Pages 게시에서 멈췄습니다」 — 사유에 「프로젝트가 다른 Git 저장소 내부에 있습니다. 별도 디렉터리에서 게시하세요」 생성 위치로 연 폴더가 Git 저장소이면 새 프로젝트가 그 안에 만들어집니다. cob 의 게시 단계는 새 프로젝트가 다른 Git 저장소 안에 있으면 시작하기 전에 거절합니다. cob fullstack 은 프로젝트를 만들 때 git init 을 하지 않기 때문입니다. 프로젝트 폴더는 이미 만들어졌고 검증도 끝난 상태입니다 Git 저장소 밖의 폴더를 생성 위치로 열고 처음부터 만들거나, 「소개 페이지 (Pages)」를 끄고 만드세요. 이미 만든 프로젝트를 게시하는 방법은 실행 결과와 게시의 「자주 겪는 문제」에 있습니다
「Pages 게시에서 멈췄습니다」 — 그 밖의 사유(이미 있는 저장소 · 권한 · 첫 배포 실패 등) GitHub 쪽 조건입니다. 저장소 이름이 이미 쓰이고 있거나, 소유자(2026-10-09 소스 기준 기본값 coco-de)에 저장소를 만들 권한이 없거나, 첫 배포가 실패한 경우들입니다 「이 이름으로 게시」 양식에서 저장소 이름을 owner/name 으로 고쳐 다시 게시합니다(함께 만들기 옵션)
「검증에서 멈췄습니다」 · 「<이름> 생성됨 · 검증 실패」 프로젝트 폴더는 만들어졌지만 cob 의 검증 게이트를 통과하지 못했습니다 사유와 「출력 보기」를 읽고 「검증부터 다시」를 누릅니다. 폴더는 「새 프로젝트 열기」로 열어 볼 수 있습니다
「생성이 중간에 멈춰 이어서 돌릴 수 없습니다 — 남은 폴더를 정리하거나 다른 이름으로 다시 계획하세요.」 프로젝트 생성 단계가 중간에 멈춰 반쯤 만들어진 폴더가 남았습니다 남은 폴더를 정리하거나 다른 프로젝트 이름으로 다시 계획합니다. 위의 co_sync 멈춤처럼 쓰기 전에 거절된 경우에는 남는 폴더가 없습니다
「Pages 열기」 단추가 없음 「소개 페이지 (Pages)」를 켜지 않았거나, 게시가 끝나지 않았거나 멈췄거나, cob 가 주소를 알려 주지 않았거나, 알려 준 주소가 github.io 꼴이 아니라 앱이 읽지 못했습니다 실행 결과와 게시의 「자주 겪는 문제」

꼬리표 「도구 없음」 · 「인증」 · 「네트워크」

빨간 상자 제목 오른쪽에 작은 꼬리표가 붙을 수 있습니다. 이 꼬리표는 들어 있는 글자를 세어 붙이는 추정입니다. 앱이 이 컴퓨터 안에서 실패 요약 · cob 가 남긴 사유 · 출력 꼬리에 아래 글자 가운데 몇 개가 들어 있는지 세어 가장 많이 맞는 쪽을 붙입니다(auth · network 처럼 꼬리표 이름과 겹치는 글자는 두 번 세고, 비기면 도구 없음 → 인증 → 네트워크 순입니다). 어느 쪽에도 맞지 않으면 꼬리표를 달지 않습니다. 그때 「설정」의 「빠른 판단 (Jev)」 키가 있으면 실패 요약 한 줄만 Jev 에 보내 묻습니다.

꼬리표 세는 글자 먼저 확인할 것
도구 없음 not found · 없음 사유에 이름이 나온 명령이 컴퓨터에 있는지, 앱이 읽은 PATH 에 있는지(git · gh · dart · flutter · melos — 준비물)
인증 401 · 403 · auth gh auth status 와 비공개 저장소 읽기 권한(준비물)
네트워크 timeout · network 인터넷 연결, 그리고 상자 맨 아래의 「정책 프록시가 막은 호스트: …」

글자만 보는 추정이라 틀릴 수 있습니다. 꼬리표보다 사유를 먼저 읽으세요.

정책 프록시가 막은 호스트

실행 카드 빨간 상자 맨 아래의 「정책 프록시가 막은 호스트: …」는, 빌더가 띄운 cob 가 샌드박스의 허용 목록에 없는 호스트로 접속하려다 정책 프록시에 막혔다는 뜻입니다. 멈춘 실행 카드에는 그 실행이 시작된 뒤 막힌 호스트만 담깁니다.

  • 이 줄이 보인다고 곧 그것이 실패의 원인이라는 뜻은 아닙니다. 사유와 함께 읽으세요.
  • 이 줄이 없다고 호스트 문제가 아니라는 뜻도 아닙니다. 프록시 환경 변수를 읽지 않는 도구(Gradle 이 그렇습니다)는 프록시를 거치지 않아 막힌 호스트로 잡히지 않습니다.
  • 허용 목록은 앱에서 고칠 수 없습니다. 사람이 터미널에서 직접 실행하는 도구는 이 목록의 영향을 받지 않습니다.

코드 모드와 프리뷰

「▶」 실행, 프리뷰, 터미널, 소스 제어에서 만나는 증상입니다.

증상 원인 해결
「실행할 수 없습니다」 — 「flutter 명령을 PATH 에서 찾지 못해 실행하지 않았습니다. 설치하거나 로그인 셸의 PATH 에 추가한 뒤 다시 실행하세요.」 「▶」 가 부를 명령(flutter · dart · serverpod · bash, FVM 을 쓰는 Flutter · Jaspr · Dart · 테스트는 flutter · dart 대신 fvm)이 앱이 읽은 PATH 에서 찾히지 않습니다. macOS · Linux 에서는 실행할 로그인 셸에 한 번 더 물어본 뒤에 내리는 판정입니다 터미널에서 <명령> --version 이 되는지 확인하고, 설치하거나 PATH 에 더합니다. serverpod 는 dart pub global activate serverpod_cli 로 설치하라는 안내가 붙습니다(실행과 프리뷰)
「프리뷰를 실행할 수 없습니다: 이 Flutter 앱에 web 실행 대상이 없습니다」 Flutter 앱은 웹 서버로 실행되는데 앱 폴더에 web 폴더가 없습니다. 상태 표시줄에는 같은 글 앞에 Bad state: 가 붙어 보일 수 있습니다 앱 폴더에서 flutter create . --platforms web 으로 웹 지원을 더한 뒤 프로젝트를 다시 열고 실행합니다(프로젝트 파일이 바뀝니다). 실행 대상은 프로젝트를 열 때 한 번만 찾습니다
「실행할 대상을 찾지 못했습니다 (pubspec.yaml)」 · 「프리뷰할 Flutter/Jaspr 앱을 찾지 못했습니다 (pubspec.yaml).」 프로젝트 폴더에서 아래로 3단계까지의 pubspec.yaml 에서 실행하거나 프리뷰할 대상을 찾지 못했습니다 프로젝트 폴더가 맞는지 확인합니다. 열어 둔 채 새 프로젝트를 만들었다면 프로젝트를 다시 엽니다(대상이 하나도 없을 때는 Run 메뉴의 실행 명령이 한 번 다시 찾습니다)
「이 플랫폼은 내부 WebView를 지원하지 않습니다」 Linux 입니다. 프리뷰를 앱 안에 그리는 것은 macOS 와 Windows 뿐입니다 정상입니다. 패널에 나온 주소를 브라우저에 직접 입력하세요
「프리뷰를 불러오지 못했습니다」 주소는 받았지만 앱 안의 웹 화면이 그 주소를 열지 못했습니다. Windows 에서는 WebView2 를 초기화하지 못한 경우도 있습니다 함께 나온 사유를 읽고 잠시 뒤 「새로고침」을 누릅니다
프리뷰 상태가 「주소 대기」에서 멈춤 러너가 아직 앱 주소를 출력하지 않았습니다. 첫 빌드는 오래 걸릴 수 있습니다 아래쪽 「프리뷰: 이름」 탭의 출력에서 컴파일 오류가 났는지 봅니다. 러너가 끝났다면 상태가 「러너 종료」로 바뀝니다
「터미널을 열 수 없습니다」 셸을 시작하지 못했습니다. 사유가 그 탭 자리에 함께 나옵니다 사유를 읽습니다. 앱이 어떤 셸을 쓰는지는 코드 모드에 있습니다
소스 제어의 「git 저장소가 아닙니다」 프로젝트 루트에 .git 이 없습니다. 상위 폴더가 Git 저장소여도 따라 올라가지 않습니다 저장소 루트를 프로젝트로 엽니다. 채팅으로 만든 새 프로젝트는 만들어진 직후에 .git 이 없을 수 있습니다(코드 모드)
소스 제어의 「git 을 실행할 수 없습니다」 git 을 실행하지 못했습니다. 사유가 아래에 나옵니다 git --version 이 되는지 확인하고 「다시 시도」를 누릅니다
「문제」 탭에 「없음」이 뜨고 목록이 비어 있음 언어 서버를 띄우는 dart 를 앱이 찾지 못했습니다 dart 가 앱이 읽은 PATH 에 있는지 확인하고 「언어 서버 다시 시작」을 누릅니다
탐색기에 있어야 할 파일이 보이지 않음 git 이 무시하는 파일은 보이지 않습니다. 앱은 트리를 파일 감시로 따라가지 않아 밖에서 새로 만든 파일은 저절로 나타나지 않습니다 탐색기 머리의 「새로 고침」을 누릅니다

터미널에서는 되는데 앱에서는 안 될 때

앱이 도구를 찾는 환경은 터미널과 같지 않을 수 있습니다.

  • PATH: macOS · Linux 에서는 앱이 시작할 때 로그인 셸의 PATH 를 한 번 읽어 오고, 5초 안에 끝나지 않으면 앱이 받은 PATH 를 그대로 씁니다. Windows 에서는 앱이 시작된 환경의 PATH 를 씁니다. 셸 프로필(.zshrc 등)을 고쳤다면 앱을 다시 실행하세요(준비물).
  • 환경 변수: 터미널과 「▶」 실행은 PATH · HOME · LANG · 임시 폴더 · 프록시 변수 같은 허용 목록의 변수만 넘기고, ANTHROPIC_API_KEY 같은 키 환경 변수는 넘기지 않습니다. 그래서 설정 화면이 읽는 키가 터미널 안에서는 보이지 않을 수 있습니다(코드 모드).

이 표에 없을 때

  • 카드나 배너의 글을 그대로 복사해 두세요. 이 쪽의 증상 칸과 글자가 같은지 견주어 보면 가장 빨리 찾습니다.
  • 실행이 멈췄다면 「출력 보기」와 아래쪽 「디버그 로그」에 cob 의 원문 출력이 있습니다. 디버그 로그는 가장 최근 실행 하나만 담고, 앱을 끄면 사라집니다(실행 결과와 게시).
  • 용어가 낯설다면 용어집을, 앱에서 지금 쓸 수 없는 기능을 찾는다면 준비 중인 기능을 보세요.

다음 단계

자주 받는 질문은 자주 묻는 질문에 모아 두었습니다.