Claude 에게 터미널 도구 빌려주기 | CLI 연결
gh CLI 를 Claude 에게 연결해 실시간 GitHub 데이터를 가져오는 방법과 CLI 가 AI 와 잘 맞는 구조적 이유를 이해합니다
Overview
Chapter 6 (지식 더하기)에서 Rules·Command·Skill 로 Claude 에게 지식을 더했습니다. 하지만 Rules·Command·Skill 은 Claude 의 지식 을 넓힐 뿐, 접근 범위는 그대로입니다. Claude 는 여전히 학습 데이터 시점의 세상만 알며, 지금 이 순간의 GitHub 이슈나 사내 API 에는 접근하지 못합니다.
이번 레슨은 개발자가 이미 쓰던 gh CLI 를 Claude 에게 그대로 빌려줘서, Claude 가 같은 명령어로 실시간 외부 데이터를 가져오는 방법을 배웁니다.
학습 목표
- Claude 의 학습 데이터 경계와 외부 접근의 차이를 이해합니다
- CLI 를 Claude 에게 "빌려주는" 방식을 체험합니다
- Claude 가 실행한 명령어를 터미널에서 직접 재현해 결과를 검증합니다
시작하기 전 확인사항
- GitHub 계정이 있어야 합니다
- 실습 프로젝트 시작 브랜치로 전환합니다:
git checkout ch07-01
Claude 가 모르는 것이 너무 많다

Claude 에게 실시간 정보를 물어보면 벽에 부딪힙니다.
vercel/next.js 저장소의 최근 이슈 5 개를 가져와서 요약해줘
Claude 는 학습 시점까지의 이슈만 압니다. 오늘 열린 이슈 목록은 학습 데이터 바깥입니다. 답변은 "이 시점에는 대략 이런 이슈들이 있었습니다" 정도로 흐려지거나, 아예 "실시간 정보에는 접근할 수 없습니다" 로 막힙니다.
GitHub 에만 해당하는 불편함이 아닙니다. 사내 Jira 티켓, AWS S3 버킷 목록, 배포 중인 서버 상태가 전부 Claude 의 학습 데이터 바깥입니다. 파일 읽기나 웹 검색 같은 내장 도구만으로는 구조화된 외부 API 데이터를 안정적으로 가져오기 어렵습니다.
gh CLI: 개발자 도구를 Claude 에게 빌려주기
개발자가 터미널에서 gh issue list 한 줄을 치면 실시간 이슈 목록이 JSON 으로 출력됩니다. Claude 도 gh CLI 를 그대로 호출해 같은 실시간 데이터를 바로 가져옵니다.
CLI 는 개발자만의 도구가 아닙니다. 설치되어 있고 인증이 끝난 CLI 는 누가 실행하든 같은 명령어로 같은 결과를 돌려줍니다. Claude Code 는 Bash 도구로 셸 명령을 실행하므로, 터미널에 설치된 gh 를 Claude 도 바로 호출할 수 있습니다.
"개발자와 Claude 가 같은 도구함을 공유한다." 이것이 CLI 연결의 본질입니다. 새로 만드는 게 없습니다. 이미 있는 도구를 Claude 에게도 쓸 수 있게 하는 것뿐입니다.
CLI 가 AI 와 잘 맞는 네 가지 이유
Claude 가 CLI 를 잘 쓰는 데는 네 가지 구조적 이유가 있습니다.
AI 가 이미 아는 형식
Claude 는 흔한 CLI 사용 예시를 학습 데이터로 풍부하게 익혔습니다. gh pr list·aws s3 ls·kubectl get pods 같은 익숙한 명령어는 별도 설명 없이도 이미 잘 알고 있습니다.
새 도구를 쓰려면 AI 가 그 도구의 문법을 새로 배워야 합니다. CLI 는 이미 아는 형식이라 Claude 가 별도 학습 없이 바로 정확하게 호출합니다.
필요할 때만 사용법 확인
옵션이 헷갈리면 Claude 는 --help 를 먼저 실행해서 사용법을 확인합니다.
gh issue list --help필요할 때만 사용법을 확인하므로 Context 를 조금씩만 소비합니다. 모든 사용 설명서를 미리 로드해두는 방식이 아닙니다.
결과를 파이프로 가공
CLI 결과는 파이프로 다른 명령어에 전달할 수 있습니다.
gh issue list --repo vercel/next.js --json number,title,state -L 10 | jq '.[].title'필요한 부분만 추려서 대화창에 가져오면, Claude 의 Context 에 불필요한 텍스트가 쌓이지 않습니다.
실행 후 바로 종료
CLI 명령어는 실행 → 결과 반환 → 종료의 흐름입니다. 장기 실행 프로세스가 남지 않아 세션 상태를 깔끔하게 유지할 수 있습니다.
[실습] gh CLI 로 실시간 GitHub 데이터 가져오기
Step 1: gh CLI 설치
| OS | 설치 명령어 |
|---|---|
| macOS | brew install gh |
| Windows | winget install --id GitHub.cli --source winget |
설치가 끝나면 버전을 확인합니다.
gh --versionStep 2: GitHub 인증
gh auth loginGitHub.com 선택 → HTTPS → 브라우저 인증을 따라갑니다. 승인하면 터미널에 성공 메시지가 표시됩니다.
상태를 확인합니다.
gh auth status"Logged in" 이 뜨면 성공입니다.
인증은 한 번만
gh auth login 은 OS 의 자격증명 저장소에 토큰을 저장합니다. 새 세션을 열거나 Claude Code 를 재시작해도 인증 상태가 유지됩니다. 토큰이 만료되면 gh auth status 가 실패하므로 같은 명령어로 재로그인하면 됩니다.
Step 3: CLI 를 직접 돌려보기
터미널에서 직접 실행해 결과를 확인합니다.
gh issue list --repo vercel/next.js --json number,title,state,labels -L 5JSON 형식의 이슈 목록이 출력됩니다. Claude 도 같은 명령어를 돌릴 것이므로, 여기서 돌아가면 Claude 쪽에서도 똑같이 돌아갑니다.
Step 4: Claude 에게 요청
Claude Code 를 시작해 같은 작업을 요청합니다.
vercel/next.js 저장소의 최근 이슈 5 개를 가져와서 어떤 버그가 있는지 요약해줘Claude 가 gh issue list ... 를 Bash 로 실행해 돌아온 JSON 을 해석하고 요약합니다. Claude 가 실행한 명령어가 대화창에 그대로 노출됩니다. 그 명령어를 복사해 터미널에 붙여넣으면 같은 결과가 재현됩니다. Claude 의 행동이 블랙박스가 아닌 재현 가능한 명령어라는 점이 CLI 연결의 강점입니다.
CLI 가 할 수 없는 일
CLI 는 많은 외부 접근 문제를 해결합니다. 하지만 모든 영역을 해결하지는 못합니다.
- 지금 열려 있는 브라우저 탭의 콘솔 에러나 DOM 상태: CLI 는 새 프로세스를 시작할 뿐, 이미 떠 있는 내 크롬 탭에는 붙지 못합니다
- Figma 같은 디자인 도구의 실시간 편집 상태: 공식 CLI 가 없을 뿐 아니라, 있다 해도 지금 편집 중인 파일의 레이어·선택 상태는 외부에서 들여다볼 수 없습니다
- 챗 앱에서 버튼·폼·차트 같은 인터랙티브 UI 응답: 텍스트만 주고받는 CLI 로는 불가능합니다. MCP 가 정의한 UI 형식을 챗 앱이 응답 안에서 렌더링할 수 있는 구조입니다
이런 영역은 실행 중인 앱이나 서비스에 실시간으로 붙는 다른 연결 방식이 필요합니다. 다음 레슨에서 이를 해결하는 MCP 를 배웁니다.
핵심 포인트 정리
- Claude 지식의 경계: Rules·Skill 로 지식을 더해도 학습 시점 바깥의 실시간 외부 정보에는 접근하지 못하므로, CLI 연결이 이 경계를 넘는 통로가 됩니다.
- 개발자와 Claude 의 도구 공유: 이미 설치된 gh·aws·kubectl 을 Claude 가 그대로 호출하므로, Claude 가 쓴 명령어를 터미널에 붙여넣어 같은 결과를 재현할 수 있습니다.
- CLI 가 AI 와 잘 맞는 구조: 이미 아는 형식,
--help로 필요할 때만 사용법 확인, 파이프로 결과 가공, 실행 후 종료의 네 가지 특성이 AI 와 자연스럽게 맞물립니다.
FAQ
-
Q: gh 외에 어떤 CLI 를 Claude 가 쓸 수 있나요?
- A:
aws·gcloud·kubectl·vercel·supabase·stripe등 대부분의 주요 서비스가 공식 CLI 를 제공합니다. Claude 는 유명 CLI 의 사용법을 학습 데이터로 이미 익혔기 때문에 별도 설정 없이 바로 호출할 수 있습니다.
- A:
-
Q: CLI 를 내가 직접 실행하는 것과 Claude 가 실행하는 것의 차이는?
- A: 결과는 같습니다. 차이는 Claude 가 "언제 어떤 CLI 를 어떻게 조합할지" 를 판단한다는 점입니다. 개발자는 작업을 설명하고, Claude 가 CLI 를 조립합니다.
이어서 배울 내용
CLI 는 실시간 외부 데이터를 잘 가져옵니다. 하지만 지금 내가 보고 있는 크롬 탭의 콘솔 에러나 Figma 에서 편집 중인 디자인 파일처럼, 이미 실행 중인 앱 안쪽을 들여다봐야 할 때가 있습니다. 다음 레슨에서는 이런 경우에 쓰는 MCP 를 배웁니다.
- MCP 의 정체와 동작 방식
- CLI 가 다 되는데 왜 MCP 를 배워야 하는가
- Claude in Chrome 으로 내 실제 Chrome 세션을 Claude 가 관찰하기
- Figma MCP 를
claude mcp add로 붙여 Tool 을 늘리기