[카테고리:] Claude Code 입문과 문제해결

  • 처음 켜면 나오는 ‘이 폴더를 신뢰하시겠습니까’ — 엔터만 치면 벌어지는 일

    처음 켜면 나오는 ‘이 폴더를 신뢰하시겠습니까’ — 엔터만 치면 벌어지는 일

    설치를 넘기고 claude를 처음 실행하면, 작업 화면이 아니라 질문 하나가 먼저 뜬다. 이 폴더의 파일을 신뢰하겠느냐고 묻는 화면이다. 여기서 습관적으로 엔터를 치면 안 된다. 우리가 실측한 화면에서는 커서가 No, exit에 놓여 있었고, 그 상태의 엔터는 신뢰가 아니라 종료를 선택했다. 도구가 켜지자마자 조용히 닫히는 것처럼 보이는 이유가 이것이다.

    먼저 밝혀 둔다. 커서가 어디에 놓이는지는 사람마다 다를 수 있다. 아래 2번 항목에 우리 환경의 조건을 적었으니, 외우지 말고 자기 화면에서 직접 확인하기를 권한다. 이 글에서 공식 문서에서 확인한 내용과 우리가 직접 측정한 내용은 항목마다 구분해 표시했다.

    첫 실행 화면의 두 관문과 우리 실측값을 정리한 도식. 폴더 신뢰 관문의 커서 기본값이 No, exit 였고 그 아래에 Yes, I trust this folder 항목이 있으며, 면책 창도 기본값이 같았다는 실측, feed 원장 82건 중 first_run_gate 24건이라는 집계, agents.json 의 measured_on 2.1.241 과 설치본 2.1.263 의 불일치를 함께 담았다.
    엔터를 치면 신뢰가 아니라 종료가 눌린 배치를 우리가 실측했다 — 2026-09-08. 버튼 라벨과 커서 위치만 옮겼고, 기본값은 환경에 따라 다를 수 있다.

    신뢰 화면에서 멈춘 지점

    1. 켜자마자 폴더를 신뢰하겠느냐는 화면이 떴다

    증상. 설치는 끝났고 claude를 실행했는데, 곧바로 이런 줄이 뜬다.

    
    Do you trust the files in this folder?
    

    왜 그런가. 고장이 아니라 설계다. 공식 보안 문서에 이 절차가 적혀 있다. 문서는 안전장치 목록에서 Trust verification을 이렇게 설명한다. “First-time codebase runs and new MCP servers require trust verification.” 처음 여는 코드베이스와 새로 붙이는 MCP 서버는 신뢰 확인을 거친다는 뜻이다.

    즉 이 화면은 그 폴더에서 처음 실행할 때 한 번 물어보는 관문이다. 놀랄 일이 아니고, 답을 하면 지나간다.

    확인 명령. 지금 어느 폴더에서 켰는지부터 본다. 질문의 대상이 그 폴더다.

    
    pwd
    

    확인 방법. 답을 하고 나면 평소의 입력 프롬프트가 나온다. 화면이 작업 상태로 넘어가면 관문을 지난 것이다.

    2. 무엇을 눌러야 하는지 모르겠다 — 커서 위치를 직접 확인하라

    이 항목은 우리가 직접 측정한 것이다. 공식 문서에는 이 화면의 항목 순서나 커서 기본값이 적혀 있지 않다.

    증상. 화면에 선택 항목이 두 개 있는데 어느 쪽이 선택된 상태인지 눈에 잘 들어오지 않는다. 보통은 엔터가 안전한 쪽에 놓여 있다고 기대한다.

    우리가 측정한 것. 2026년 9월 8일, 우리 작업 폴더에서 여러 좌석을 기동하면서 화면을 그대로 읽었다. 커서는 No, exit에 놓여 있었고, 그 아래에 Yes, I trust this folder 항목이 있었다. 우리 작업 기록에는 그 절차가 이렇게 남아 있다. 화면을 읽어 커서가 No, exit에 있는 것을 확인하고, 아래로 옮겨 Yes, I trust this folder에 커서가 있는 것을 다시 확인한 뒤 확정했다. 맹목적으로 엔터를 치지 않았다.

    중요한 조건 — 이것은 우리 환경의 배치다. 우리 작업 폴더의 설정 파일에는 도구 권한 두 건이 미리 허용돼 있었다. 실제 값은 다음 두 줄이다.

    
    "permissions": { "allow": [ "Bash(cys send-key:*)", "Bash(cys read-screen:*)" ] }
    

    우리는 이 사전 허용이 있는 폴더에서 위 배치를 봤다. 다만 사전 허용이 커서 기본값을 그렇게 만든 원인인지는 우리가 프로그램 코드로 확인한 것이 아니다. 조건과 관찰을 함께 적어 두는 것이 정확하다. 그러니 사전 허용이 없는 폴더에서는 기본값이 다를 수 있다.

    처방. 기본값을 외우지 마라. 화면에서 지금 커서가 어느 항목에 있는지 보고, 신뢰하겠다는 항목으로 옮긴 뒤 확정한다. 방향키 위아래로 옮기고, 항목 앞의 표시가 옮겨간 것을 눈으로 확인한 다음 엔터를 누른다. 순서를 지키면 기본값이 무엇이든 안전하다.

    확인 방법. 확정한 뒤 화면이 입력 프롬프트로 넘어가는지 본다. 창이 닫히면 종료 쪽을 누른 것이니 다시 켜서 4번 항목대로 하면 된다.

    덧붙이면, 항목 문면은 도구마다 다르다. 우리가 같은 컴퓨터에서 측정한 다른 CLI 는 항목이 1. Yes, continue2. No, quit 두 개였다. 라벨을 외워 두고 위치로 누르는 습관이 위험한 이유다.

    3. 하나를 통과했는데 또 물어본다

    이 항목도 우리 실측이다.

    증상. 폴더 신뢰에 답했는데 화면이 작업 상태로 가지 않고 비슷한 선택 화면이 한 번 더 뜬다.

    우리가 측정한 것. 관문은 하나가 아니었다. 우리 기록에는 한 좌석을 기동하면서 폴더 신뢰 관문과 Bypass Permissions 면책 관문 두 건을 연달아 통과시킨 것으로 남아 있다. 그리고 우리 어댑터 설정 파일의 설명문에는, 통과 직후 화면을 다시 관문으로 잘못 읽으면 그 다음 엔터가 면책 창의 No, exit를 누른다는 사고 형태가 적혀 있다. 즉 두 번째 창에서도 엔터가 종료 쪽일 수 있다.

    처방. 한 번 통과했다고 방심하지 말고, 두 번째 화면에서도 커서 위치를 같은 방식으로 확인한다. 두 화면은 묻는 내용이 다르다. 첫 번째는 이 폴더를 신뢰하겠느냐이고, 두 번째는 권한 확인을 건너뛰는 모드에 대한 면책이다.

    확인 방법. 두 화면을 모두 지나면 입력 프롬프트가 나온다. 중간에서 닫히면 두 번째 창에서 종료를 누른 것이다.

    4. 엔터를 쳤더니 그냥 닫혔다

    증상. 무언가 눌렀는데 도구가 종료됐다. 오류 메시지도 없다. 설치가 잘못된 것처럼 느껴진다.

    왜 그런가. 종료 항목이 선택된 상태에서 확정했기 때문이다. 우리 실측 기준으로 그 항목의 라벨이 No, exit다. 이름 그대로 신뢰하지 않고 나가는 선택이다. 설치나 로그인이 깨진 것이 아니다.

    처방. 다시 켜면 된다. 신뢰 질문은 답을 하지 않은 상태로 남아 있으므로 같은 화면이 다시 뜬다. 이번에는 2번 항목의 순서대로 커서를 옮겨 확정한다.

    
    claude
    

    확인 방법. 우리 기록에서는 관문을 통과한 좌석에 온보딩 완료 표시가 남아 재기동 때 다시 막히지 않았다. 우리 환경에서 확인한 값은 hasCompletedOnboarding=true였다. 다시 켰을 때 이 화면이 더 나오지 않으면 통과가 저장된 것이다. 매번 다시 물어보는 경우는 5번 항목을 보라.

    5. 켤 때마다 매번 다시 물어본다

    증상. 분명히 신뢰한다고 답했는데 다음에 켜면 또 묻는다.

    왜 그런가. 공식 보안 문서가 이 상황을 직접 설명한다. 홈 디렉터리에서 바로 실행한 경우다. 문서 표현은 이렇다. “When you start Claude Code directly in your home directory, trust acceptance is held for the current session only and is not written to disk, so the prompt reappears on each launch. There is no setting to persist it. Start Claude Code from a project subdirectory instead, where trust acceptance is saved per directory.”

    정리하면, 홈 디렉터리에서 켜면 신뢰 승인이 그 세션에만 유지되고 디스크에 기록되지 않아 켤 때마다 다시 묻는다. 이를 유지시키는 설정은 없다고 문서가 명시한다. 대신 프로젝트 하위 폴더에서 켜면 폴더 단위로 저장된다.

    확인 명령. 지금 위치가 홈 디렉터리인지 본다. 아래 두 값이 같으면 홈에서 켠 것이다.

    
    pwd
    echo $HOME
    

    처방. 작업할 프로젝트 폴더를 만들고 그 안에서 켠다.

    
    mkdir my-project
    cd my-project
    claude
    

    확인 방법. 그 폴더에서 한 번 신뢰한 뒤 도구를 닫고 다시 켠다. 같은 폴더에서 질문이 다시 뜨지 않으면 저장된 것이다.

    참고로 같은 문서는 비대화형 실행에 대해서도 적어 두었다. “Trust verification is disabled when running non-interactively with the -p flag.” 즉 -p 옵션으로 비대화형으로 돌릴 때는 이 확인 절차가 동작하지 않는다.

    6. 신뢰한다고 하면 무엇을 허용하는 것인가

    증상. 신뢰하겠다고 누르기가 망설여진다. 무엇을 허락하는 것인지 모르겠다.

    공식 문서가 말하는 범위. 신뢰가 곧 모든 권한을 주는 것은 아니다. 문서는 기본 동작을 이렇게 설명한다. 수동 모드에서 Claude Code 는 읽기 전용 권한으로 시작하고, 파일을 고치거나 명령을 실행해야 할 때 사람에게 먼저 물어본다. 원문은 “In Manual mode, Claude Code starts with read-only permissions. When Claude Code needs to edit files, run tests, or execute commands, it asks you first, and you choose whether to approve the action once or allow it from then on.”

    작업 범위에도 경계가 있다. 문서 설명으로 수동 모드에서는 실행한 폴더와 그 하위 폴더에만 쓸 수 있고, 상위 폴더의 파일은 명시적 허락 없이 고치지 못한다. 원문은 “In Manual mode, Claude Code can only write to the folder where it was started and its subfolders, and can’t modify files in parent directories without explicit permission.”

    문서는 책임 소재도 분명히 적는다. “Claude Code only has the permissions you grant it. You’re responsible for reviewing proposed code and commands for safety before approval.”

    처방. 내가 만든 프로젝트 폴더라면 신뢰해도 된다. 내려받은 남의 코드나 출처가 불확실한 폴더라면, 그 폴더에서 켜기 전에 내용을 먼저 살펴보는 편이 낫다. 신뢰 질문은 그 판단을 사람에게 넘기는 지점이다.

    확인 방법. 통과한 뒤에도 파일을 고치는 작업에서 확인을 물어오는지 본다. 물어온다면 수동 모드의 기본 동작이 살아 있는 것이다.

    7. 우리 시스템에서는 이것이 최다 장애였다

    여기서부터는 여러 대의 에이전트를 동시에 돌리는 우리 운영 환경의 이야기다. 혼자 도구를 쓰는 독자에게 그대로 적용되는 내용은 아니지만, 이 관문을 가볍게 보면 어떤 일이 생기는지 보여주는 실제 기록이다.

    빈도. 우리 승인 원장을 전수로 집계했다. 2026-09-08 시점에 원장 항목은 82건이었고, 그 가운데 첫 실행 관문 감지가 first_run_gate 24건으로 가장 많았다. 두 번째는 부트스트랩 실패 20건, 세 번째는 승인 대기 18건이었다. 우리 시스템에서 가장 자주 발생한 항목이 바로 이 관문이다.

    실제로 벌어진 일. 기록에 남은 형상은 이렇다. 한 좌석은 관문 화면에서 답을 받지 못해 계속 대기했다. 다른 좌석은 로그를 한 줄도 남기지 않고 사라졌다. 부서장 좌석은 첫 기동에서 관문 두 건을 통과해야 했다. 다른 부서의 검토 좌석에서도 같은 형상이 나왔다. 통과는 사람이 화면을 읽고 커서를 옮겨 손으로 처리했다.

    자동으로 통과시키는 장치가 있었는데 멈춰 있었다. 우리는 이 관문을 자동 확인하는 설정을 갖고 있다. 그런데 그 설정에는 안전장치가 붙어 있다. 어댑터 설정 파일 agents.json의 설명문에 계약이 적혀 있고, 문면은 이렇다. measured_on은 이 선언을 실측한 claude 버전이며, 정본과 다르면 그 관문의 통과 액션은 보류되고 감지만 한다.

    실제 값을 나란히 놓으면 이렇다.

    
    agents.json  claude.first_run_gates.measured_on = 2.1.241
    설치본        claude --version                   = 2.1.263 (Claude Code)
    agents.json  claude.first_run_gates.gates       = []   (override 선언 없음)
    

    선언을 실측한 버전과 설치된 버전이 달랐다. 계약대로 통과 액션은 보류되고 감지만 이뤄졌다. 그래서 자동 통과 장치가 있는데도 좌석들이 관문 앞에 멈춰 섰다. 같은 파일에서 다른 CLI 는 measured_on 선언 자체가 없었고, 그 설치본은 codex-cli 0.153.4였다.

    이 대비가 이 글에서 가장 값진 대목이라고 생각한다. 안전장치는 제 계약대로 정확히 동작했다. 버전이 다르면 섣불리 자동 응답하지 않는다는 규칙을 지킨 것이다. 문제는 그 보류 상태를 사람이 모르고 있었다는 데 있었다.

    부수 결함 하나. 관문을 통과한 뒤에도 우리 데몬의 보류 표시가 남아 있었다. 그 표시를 지우는 별도 명령은 없고, 우리가 시도한 해소법은 듣지 않았다. 상태 신고 명령은 상태만 신고하고 관문 표시를 지우지는 않는다. 다만 정직하게 덧붙이면, 우리 점검기는 이후 각성 시각을 먼저 보도록 바뀌어서 표시가 남아 있어도 생존 판정이 틀리지 않게 됐다. 그래도 원칙은 그대로다. 화면을 직접 읽은 결과가 판정의 정본이다.

    정리 — 확인할 것 네 가지

    첫째, 이 화면은 고장이 아니다. 공식 문서에 적힌 첫 실행 신뢰 확인 절차다. 둘째, 기본값을 외우지 말고 지금 커서가 어느 항목에 있는지 화면에서 직접 본다. 우리 환경에서는 그 자리가 종료 쪽이었다. 셋째, 관문이 한 번에 끝나지 않을 수 있으니 두 번째 화면에서도 같은 확인을 한다. 넷째, 매번 다시 묻는다면 홈 디렉터리에서 켠 경우이니 프로젝트 폴더를 만들어 그 안에서 켠다.

    습관 하나만 바꾸면 된다. 선택 화면에서 엔터를 먼저 치지 말고, 커서를 먼저 보는 것이다. 우리는 이 한 가지를 몰라서 가장 많은 장애를 만들었다.

    어디까지 공식 문서이고 어디부터 우리 실측인가

    공식 문서에서 인용한 것

    • Claude Code 공식 문서, 보안: https://code.claude.com/docs/en/security — 첫 실행 신뢰 확인(Trust verification), 홈 디렉터리에서 신뢰가 저장되지 않는 동작과 프로젝트 하위 폴더 권장, -p 비대화형 실행에서 신뢰 확인이 동작하지 않는다는 설명, 수동 모드의 읽기 전용 시작과 작업 폴더 경계, 권한에 대한 사용자 책임

    공식 문서는 이 관문이 존재하는 이유와 저장 규칙까지는 설명하지만, 선택 항목의 순서나 커서 기본값은 적지 않는다. 그 부분은 아래의 우리 실측이다.

    우리가 직접 측정한 것 (2026-09-08, 공식 문서의 내용이 아니다)

    • 커서 기본값이 No, exit였고 아래 항목이 Yes, I trust this folder였다는 것. 우리 작업 폴더에는 도구 권한 두 건이 미리 허용돼 있었다는 조건을 함께 밝힌다. 그 사전 허용이 커서 배치의 원인인지는 코드로 확인하지 않았다
    • 폴더 신뢰 다음에 Bypass Permissions 면책 관문이 한 번 더 뜨고, 그 창에서도 엔터가 종료 쪽일 수 있다는 것
    • 승인 원장 82건 중 first_run_gate가 24건으로 최다였다는 집계
    • agents.jsonmeasured_on 계약 문면과, 그 값 2.1.241이 설치본 2.1.263과 달라 자동 통과가 보류된 상태였다는 것. gates는 빈 배열이었다
    • 관문 통과 뒤에도 데몬의 보류 표시가 남고 지우는 명령이 없다는 것. 다만 점검기가 각성 시각을 우선하도록 바뀌어 생존 판정에는 영향이 없다는 정정까지 함께 적는다

    커서 기본값은 환경에 따라 다를 수 있다. 이 글의 실측값을 자기 화면의 기본값으로 가정하지 말고, 화면을 직접 읽고 확정하기를 권한다.

  • Claude Code가 설치는 됐는데 안 켜질 때 — Windows 첫 실행 오류 전부 정리

    Claude Code가 설치는 됐는데 안 켜질 때 — Windows 첫 실행 오류 전부 정리

    설치는 끝났다고 나왔는데 claude를 쳤을 때 아무 일도 일어나지 않는다면, 대부분은 프로그램이 망가진 것이 아니다. 막힌 층이 어디인지만 가려내면 처방은 거의 정해져 있다. 이 글은 Windows에서 처음 실행할 때 나오는 오류를 증상 문구별로 모아 정리한 것이다. 앞의 여섯 항목은 공식 문서에서 확인한 내용이고 링크를 함께 달았다. 뒤의 세 항목은 우리가 이 컴퓨터에서 직접 겪은 것이라 공식 문서에는 없다. 어느 쪽인지 항목마다 밝혀 두었다.

    설치는 됐는데 안 켜지는 상황을 네 층으로 나눈 도식. 설치 명령 층, 경로 층, 셸 세션 층, 정책과 인증 층의 대표 오류 문구와 처방을 나란히 놓고, 아래 띠에 우리가 직접 겪은 세 가지를 적었다.
    막히는 층은 네 곳이다 — 증상 문구로 층을 먼저 가려낸다. 아래 띠는 우리가 2026년 9월에 직접 겪은 세 가지다.

    어떤 문구가 떴는가

    지금 화면에 나온 문구와 가장 비슷한 항목으로 바로 가면 된다. 초보일 때는 원인을 몰라도 괜찮다. 증상만 알면 충분하다.

    1. claude를 쳤는데 명령을 찾을 수 없다고 나온다

    증상. 화면에 command not found: claude 또는 'claude' is not recognized가 나온다. 설치는 분명히 끝났는데 명령만 없는 것처럼 보인다.

    왜 그런가. 공식 문서는 이렇게 설명한다. 설치는 됐지만 설치 폴더가 PATH에 없다는 뜻이고, 셸은 PATH에 적힌 폴더만 뒤져서 프로그램을 찾는다. Windows에서 설치 파일이 놓이는 자리는 %USERPROFILE%\.local\bin\claude.exe다.

    확인 명령. PowerShell에서 그 폴더가 PATH에 들어 있는지 본다.

    
    $env:PATH -split ';' | Select-String '\.local\\bin'
    

    처방. 위 명령이 아무것도 출력하지 않으면 PATH에 없는 것이다. 공식 문서가 안내하는 대로 사용자 PATH에 추가한다.

    
    $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
    [Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')
    

    공식 문서는 여기에 한 줄을 덧붙인다. “Restart your terminal for the change to take effect.” 즉 창을 다시 열어야 반영된다.

    확인 방법. 새 터미널 창을 열고 claude --version을 실행한다. 공식 문서 기준으로 정상 설치라면 2.1.211 (Claude Code)처럼 버전 번호가 찍힌다.

    한 가지 주의할 점이 문서에 따로 적혀 있다. VS Code 확장만 설치한 경우에는 claude가 그 자리에 놓이지 않는다. 확장은 자기 채팅 창을 위해 CLI 사본을 확장 폴더 안에 따로 두고 PATH에 추가하지 않기 때문이다. 터미널에서 claude를 쓰려면 별도 설치가 필요하다.

    2. 설치는 성공했다는데 새 창에서만 되거나, 옛 버전이 나온다

    증상. 설치 로그는 성공인데 방금 설치한 그 창에서만 claude를 못 찾는다. 또는 분명히 새로 설치했는데 옛 버전 번호가 찍힌다.

    왜 그런가. 공식 문서의 설명은 짧고 분명하다. “the session you installed from keeps its old PATH.” 설치 프로그램이 PATH를 바꿔도 이미 열려 있던 창은 예전 PATH를 그대로 들고 있다. 고객지원 문서도 Windows에서는 “Close and reopen PowerShell”이라고 안내한다.

    확인 명령. 지금 창에서 실패하는지, 새 창에서도 실패하는지를 나눠서 본다.

    
    claude --version
    

    처방. 창을 완전히 닫고 새 창을 열어 같은 명령을 다시 실행한다. 이것만으로 끝나는 경우가 많다.

    확인 방법. 새 창에서 버전 번호가 찍히면 해결된 것이다. 새 창에서도 여전히 못 찾으면 1번 항목의 PATH 문제로 넘어간다.

    3. 설치 명령 자체가 오류를 낸다

    증상. Claude Code를 켜기도 전에 설치 명령이 튕긴다. 공식 문서가 열거한 문구는 이렇다.

    
    'bash' is not recognized as the name of a cmdlet
    A parameter cannot be found that matches parameter name 'fsSL'
    The token '&&' is not valid
    'irm' is not recognized
    

    왜 그런가. 공식 문서는 이 네 가지를 모두 같은 원인으로 묶는다. 다른 셸이나 다른 운영체제용 설치 명령을 복사해 온 것이다. 예를 들어 curl -fsSL ... | bash는 macOS와 Linux용인데, Windows PowerShell에서는 curlInvoke-WebRequest의 별칭이라서 -fsSL 같은 옵션을 거부한다.

    확인 명령. 내가 지금 어느 셸에 있는지부터 확인한다. 공식 문서가 알려주는 구분법은 프롬프트 모양이다. “Your prompt shows PS C:\ when you’re in PowerShell and C:\ without the PS when you’re in CMD.”

    처방. 셸에 맞는 설치 명령을 쓴다. 공식 문서에 적힌 그대로다.

    
    PowerShell:  irm https://claude.ai/install.ps1 | iex
    CMD:         curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
    WinGet:      winget install Anthropic.ClaudeCode
    

    설치 명령을 쳤는데 스크립트 내용만 화면에 쭉 출력되고 아무것도 설치되지 않는 경우도 있다. 공식 문서는 이것을 명령의 앞부분만 실행한 상태로 설명한다. irm https://claude.ai/install.ps1만 쓰면 내려받은 스크립트를 화면에 인쇄하고 끝난다. 실행까지 하려면 | iex를 붙여야 한다.

    확인 방법. 새 터미널을 열고 claude --version으로 버전 번호를 확인한다.

    4. Claude Code does not support 32-bit Windows가 나온다

    증상. 64비트 컴퓨터를 쓰는데도 32비트를 지원하지 않는다는 오류가 나온다.

    왜 그런가. 공식 문서의 설명은 이렇다. 시작 메뉴에는 PowerShell 항목이 두 개 있다. Windows PowerShellWindows PowerShell (x86)이다. x86 항목은 32비트 프로세스로 실행되며, 문서 표현대로 “triggers this error even on a 64-bit machine”이다. 즉 컴퓨터가 아니라 창을 잘못 연 것이다.

    확인 명령. 오류가 난 바로 그 창에서 실행한다.

    
    [Environment]::Is64BitOperatingSystem
    

    처방. True가 나오면 운영체제는 문제가 없다. 그 창을 닫고 (x86)이 붙지 않은 Windows PowerShell을 열어 설치 명령을 다시 실행한다. False가 나오면 32비트 Windows를 쓰는 것이고, 이 경우에는 64비트 운영체제가 필요하다. 공식 시스템 요건은 Windows 10 1809 이상 또는 Windows Server 2019 이상, 4GB 이상 메모리, x64 또는 ARM64 프로세서다.

    확인 방법. x86이 아닌 창에서 설치한 뒤 claude --version으로 버전 번호를 확인한다.

    5. running scripts is disabled on this system이 나온다

    증상. npm으로 설치했거나 npm으로 설치한 claude를 실행할 때 보안 오류가 난다. 공식 문서가 실은 원문은 이렇다.

    
    npm : File C:\Program Files\nodejs\npm.ps1 cannot be loaded because running scripts
    is disabled on this system.
        + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    

    원문 메시지 끝에는 마이크로소프트의 실행 정책 문서를 가리키는 주소가 한 줄 더 붙는다. 위 인용에서는 그 주소만 덜어냈고, 같은 문서를 이 글 맨 아래 출처에 링크해 두었다.

    왜 그런가. 공식 문서는 원인을 이렇게 짚는다. PowerShell의 실행 정책이 npm이 만들어 놓은 .ps1 실행 스크립트를 막고 있는 것이다. 같은 오류가 claude.ps1 이름으로도 나온다. 문서는 이 정책이 스크립트 파일에만 적용되므로 PowerShell 설치 명령 irm https://claude.ai/install.ps1 | iex에는 영향을 주지 않는다고 덧붙인다. 내려받은 글자를 바로 실행하는 방식이라 그렇다.

    실행 정책이 무엇인지는 마이크로소프트 공식 문서에 정의돼 있다. 문서는 실행 정책을 “a safety feature that controls the conditions under which PowerShell loads configuration files and runs scripts”라고 설명한다. 이 글에서 쓰는 RemoteSigned는 문서 표현으로 “Requires a digital signature from a trusted publisher on scripts and configuration files that are downloaded from the internet”이고 “Doesn’t require digital signatures on scripts that are written on the local computer and not downloaded from the internet”이다. 즉 인터넷에서 받은 스크립트만 서명을 요구하고, 내 컴퓨터에서 만들어진 스크립트는 그대로 실행한다.

    한 가지 헷갈리기 쉬운 대목이 있어 그대로 옮긴다. 같은 문서는 RemoteSigned를 “The default execution policy for Windows computers”라고 적으면서, 동시에 “If no execution policy is set in any scope, the effective execution policy is Restricted, which is the default for Windows clients”라고도 적는다. 두 문장이 함께 있으니, 내 컴퓨터가 지금 어떤 상태인지는 추측하지 말고 직접 확인하는 편이 정확하다.

    확인 명령. 현재 적용 중인 정책을 범위별로 본다.

    
    Get-ExecutionPolicy -List
    

    처방. 공식 문서가 제시하는 방법은 세 가지다. 첫째, 내 계정 범위에서 로컬 스크립트를 허용한다.

    
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    

    둘째, .ps1 대신 .cmd 실행 파일을 부른다. 문서 설명대로 npm.cmdclaude.cmd는 같은 일을 하고 정책 적용 대상이 아니다. 셋째, npm 대신 PowerShell 설치 명령을 쓴다. 스크립트가 아니라 실행 파일을 설치하는 방식이다. 마이크로소프트 문서는 Set-ExecutionPolicy의 변경이 즉시 적용되며 PowerShell을 다시 시작할 필요가 없다고 적는다.

    확인 방법. Get-ExecutionPolicy -Scope CurrentUserRemoteSigned를 돌려주는지 보고, 이어서 claude --version으로 버전 번호를 확인한다.

    6. 켜지기는 하는데 로그인이 안 된다

    증상. claude는 켜지는데 로그인 단계에서 멈춘다. 브라우저가 저절로 열리지 않거나, OAuth error: Invalid code가 나오거나, 로그인 뒤에 403 Forbidden이 나온다.

    먼저 확인할 것. 공식 문서는 계정 조건을 명확히 적어 두었다. Claude Code는 Pro, Max, Team, Enterprise, Console 계정이 필요하고 “The free Claude.ai plan does not include Claude Code access.” 무료 요금제로는 접근이 되지 않으니, 설치 문제로 오래 헤매기 전에 계정 종류부터 확인하는 편이 빠르다.

    확인 명령. Claude Code 안에서 현재 어떤 인증 방식이 쓰이는지 본다.

    
    /status
    

    처방. 공식 문서가 안내하는 순서는 이렇다. 원인이 분명하지 않을 때는 로그인을 깨끗하게 다시 한다. /logout으로 완전히 로그아웃하고, Claude Code를 닫고, claude로 다시 시작해 인증을 처음부터 진행한다. 브라우저가 저절로 열리지 않으면 c를 눌러 인증 주소를 복사한 뒤 브라우저에 직접 붙여 넣는다. 터미널이 좁아 주소가 여러 줄로 잘려 클릭이 안 될 때도 같은 방법을 쓴다.

    OAuth error: Invalid code. Please make sure the full code was copied가 나오는 경우, 문서는 코드가 만료됐거나 복사 과정에서 잘렸다고 설명한다. 브라우저가 열린 뒤 지체 없이 로그인을 마치는 것이 처방이다.

    로그인은 됐는데 403 Forbidden이 나오는 경우에는 환경 변수를 본다. 문서 설명대로 ANTHROPIC_API_KEY가 설정돼 있고 그 키를 승인해 둔 상태라면, Claude Code는 구독 계정의 인증 대신 그 키를 쓴다. Windows에서는 PowerShell 프로필($PROFILE)과 사용자 환경 변수에서 ANTHROPIC_API_KEY를 확인하라고 안내한다.

    확인 방법. /status로 지금 활성화된 인증 방식이 의도한 것과 같은지 확인한다.

    7. 점검 도구가 한글 콘솔에서 통째로 멈춘다

    여기서부터 세 항목은 공식 문서에 없다. 우리가 이 컴퓨터에서 직접 겪은 것이다.

    증상. 설치 상태를 점검하려고 돌린 진단 스크립트가 아래 오류를 내고 그 자리에서 죽었다. 점검 결과를 한 줄도 못 봤다.

    
    UnicodeEncodeError: 'cp949' codec can't encode character '\u2014'
    

    무엇이 문제였나. 정확히 밝혀 둔다. 죽은 것은 Claude Code 본체가 아니라 우리가 만든 파이썬 진단 스크립트였다. 원인은 프로그램 논리가 아니라 글자였다. 한국어 Windows 콘솔의 기본 인코딩은 cp949이고, 여기에는 줄표(U+2014, em dash)를 표현할 자리가 없다. 진단 결과를 출력하는 문장에 줄표가 한 글자 들어 있었고, 그 한 글자를 인코딩하는 순간 예외가 나면서 진단이 통째로 중단됐다. 설치 상태는 아무 문제가 없었다.

    확인 명령. 지금 파이썬이 어떤 인코딩으로 출력하는지 본다.

    
    python -c "import sys; print(sys.stdout.encoding)"
    

    처방. 우리가 실제로 쓴 방법은 출력 인코딩을 UTF-8로 고정하는 것이었다. 파이썬은 환경 변수로 이것을 지정할 수 있다.

    
    $env:PYTHONUTF8 = "1"
    $env:PYTHONIOENCODING = "utf-8"
    

    덧붙이자면, 겪고 나서 우리가 코드에 남긴 교훈은 다른 쪽이었다. 진단 도구의 출력 문장은 예쁜 기호를 쓰지 않는 편이 낫다는 것이다. 줄표 대신 붙임표를 쓰면 이 고장 자체가 생기지 않는다. 도구가 멈추면 정작 확인하려던 사실을 아무것도 못 보게 된다.

    확인 방법. 같은 스크립트를 다시 돌려 끝까지 출력이 나오는지 본다. 위 확인 명령이 utf-8을 돌려주면 인코딩은 잡힌 것이다.

    8. 분명히 설치했는데 자동 점검이 미설치라고 한다

    증상. 파일 탐색기로 확인하면 실행 파일이 그 자리에 분명히 있다. 그런데 우리가 만든 자동 점검이 그 CLI를 미설치로 판정했다.

    무엇이 문제였나. 실행 파일은 실재했고, 문제는 점검을 수행한 쪽의 PATH였다. 우리 자동 점검은 별도 프로세스를 띄워서 명령을 찾는데, 그 프로세스가 물려받은 PATH에 해당 폴더가 들어 있지 않았다. 그래서 파일이 있는데도 없다고 보고했다. 사람이 직접 창을 열어 실행하면 되는데 자동 점검만 실패하는 상태였고, 우리는 이 차이를 알아채기까지 시간을 썼다.

    이 오판정은 1번 항목과 뿌리가 같다. 셸이든 자동화든 프로그램을 찾는 방법은 PATH뿐이라, PATH를 물려받지 못한 프로세스에게는 그 파일이 존재하지 않는 것과 같다. 다른 점은 하나다. 1번은 사람이 오류 문구를 보고, 8번은 자동화가 조용히 잘못된 결론을 남긴다.

    확인 명령. 지금 이 창에서 찾을 수 있는지, 그리고 파일이 실재하는지를 따로 확인한다. 둘의 답이 갈리면 PATH 문제다.

    
    where.exe claude
    Test-Path "$env:USERPROFILE\.local\bin\claude.exe"
    

    처방. 파일은 있는데 where.exe가 못 찾으면 1번 항목의 PATH 추가를 적용한다. 자동화 쪽이라면 자동화가 띄우는 프로세스의 PATH에 그 폴더가 들어가는지를 따로 확인해야 한다. 사람이 쓰는 창에서만 고쳐 놓으면 자동 점검은 계속 미설치라고 답한다.

    확인 방법. where.exe claude가 경로를 출력하고, 자동 점검을 다시 돌렸을 때 같은 결론이 나오는지 본다. 사람과 자동화의 답이 일치하는 상태가 정상이다.

    9. 어제까지 되던 명령이 셸을 바꾸니 사라졌다

    증상. 잘 쓰던 CLI가 어느 날 없는 명령이 됐다. 우리 경우에는 셸을 바꿔서 새로 열었을 때였다.

    무엇이 문제였나. 정확히 적어 둔다. 이때 사라진 것은 Claude Code가 아니라, 같은 컴퓨터에 npm 전역 설치로 넣어 둔 다른 CLI였다. 그 컴퓨터에는 Node 버전 관리자(fnm)가 깔려 있었고, npm 전역 설치는 버전 관리자가 셸마다 만들어 주는 경로 아래로 들어갔다. 그 경로는 셸 세션에 딸린 임시 경로여서, 셸이 바뀌자 그대로 사라졌다. 파일이 지워진 것이 아니라 그 경로를 아무도 안 보게 된 것이다.

    처방. 우리가 쓴 해법은 셸에 딸리지 않는 안정된 절대경로에 실행 지점을 고정하는 것이었다. 구체적으로는 ~/.local/bin 아래에 작은 실행 파일을 두고 그것을 부르게 했다. 그 뒤로는 셸이 바뀌어도 같은 자리에서 실행된다.

    Claude Code에는 이 문제가 애초에 덜 생긴다. 공식 문서에 따르면 기본 설치 방식은 %USERPROFILE%\.local\bin\claude.exe라는 고정된 자리에 실행 파일을 놓기 때문이다. npm 전역 설치를 택할 때만 위와 같은 상황을 고려하면 된다. 참고로 공식 문서는 npm 설치에 대해 “Do NOT use sudo npm install -g“라고 경고하고, npm 패키지도 결국 같은 네이티브 실행 파일을 설치한다고 설명한다.

    확인 방법. 셸을 바꿔 새 창을 열고 where.exe claude가 같은 경로를 출력하는지 본다. 셸에 따라 결과가 달라지면 아직 휘발성 경로에 물려 있는 것이다.

    정리

    아홉 가지를 봤지만 실제로 층은 네 개다. 설치 명령을 셸에 맞게 골랐는가, 설치 폴더가 PATH에 있는가, 지금 창이 새 PATH를 들고 있는가, 정책과 계정이 막고 있지는 않은가. 이 네 가지를 순서대로 짚으면 대부분 끝난다.

    마지막으로 점검 명령 하나를 적어 둔다. 공식 문서는 설치와 설정을 자세히 보려면 claude doctor를 실행하라고 안내한다. 문서 설명으로는 세션을 시작하지 않고 읽기 전용 진단만 출력하며, 설치 상태와 설정 파일 오류, 권장 조치가 함께 나온다.

    
    claude doctor
    

    우리가 겪은 세 가지에서 남은 교훈은 하나로 모인다. 프로그램이 없다는 메시지는 대체로 프로그램이 없다는 뜻이 아니고, 그것을 찾는 쪽이 어디를 보는지의 문제였다. 그리고 점검 도구는 자기가 먼저 멈추지 않아야 쓸모가 있다.

    출처

    7번부터 9번까지는 2026년 9월에 우리 환경에서 직접 확인한 것이며 공식 문서의 내용이 아니다. 나머지 항목의 문구와 명령은 위 출처에서 인용했다.