매달 내는 구독, 터미널에서만 쓰고 계신가요
개발 도구를 설치하면 가장 먼저 만나는 화면이 있습니다. API 키를 입력하라는 빈칸.
Cursor도, Windsurf도, Continue도, Cline도. n8n에서 AI 노드를 쓰려면 API 키. Slack에 AI 봇을 붙이려면 API 키. GitHub Action에서 코드 리뷰를 자동화하려면 API 키. 어디를 가든 첫 화면은 같습니다. "Enter your API key."
API 키를 넣는 순간, 종량제가 시작됩니다. 쓸수록 청구서가 늘어납니다. Sonnet 기준 입력 100만 토큰에 $3, 출력에 $15. 무거운 에이전트 작업을 돌리면 하루에 수 달러는 금방입니다.
그런데 저는 이미 Claude에 매달 $200을 내고 있습니다. 회사에서 지원해주는 Claude Max 플랜. Claude Code CLI를 사실상 제한 없이 쓸 수 있는 정액제입니다. 같은 모델, 같은 에이전트 능력을 터미널에서는 추가 비용 없이 쓰고 있습니다.
그런데 이걸 코드에서 호출하려면? API 키를 꺼내야 합니다.
매달 $200을 내고 있는데, 같은 모델을 스크립트에서 쓰려면 또 돈을 내라는 겁니다.
이 상황이 저만의 문제는 아닐 겁니다.
Claude Pro($20)나 Max($100, $200)를 쓰는 개발자는 이미 상당수입니다. Claude Code CLI의 에이전트 능력 — 파일 읽기/쓰기, 코드 수정, 셸 명령 실행 — 을 터미널에서 매일 쓰고 있습니다. 구독 안에서, 추가 비용 없이.
하지만 그 힘을 프로그래밍 방식으로 쓸 방법이 없습니다. 터미널을 열고 타이핑하는 것만 가능합니다. 코드에서 함수처럼 호출할 수 없습니다. 자동화 파이프라인에 끼울 수 없습니다.
구독과 API가 별개의 세계인 겁니다.
Anthropic이 공개한 Agent SDK(@anthropic-ai/claude-agent-sdk)가 이 벽에 구멍을 냅니다.
Anthropic API와 다릅니다. API는 모델에게 텍스트를 보내고 텍스트를 받는 것입니다. Agent SDK는 Claude Code CLI와 같은 에이전트 세션을 프로그래밍적으로 생성합니다. 파일을 읽고, 코드를 수정하고, 셸 명령을 실행하는 — 그 에이전트를 코드에서 다룰 수 있게 해줍니다.
그리고 결정적으로, 이 SDK는 API 키가 아니라 OAuth 인증으로 동작합니다. 기존 Claude 구독 자격 증명을 그대로 사용합니다.
구독 안에서. API 키 없이. 프로그래밍 방식으로.
이 조합이 가능하다는 걸 깨달은 순간, 할 수 있는 것들이 한꺼번에 열렸습니다.
Agent SDK 위에 HTTP 서버를 하나 올리면, 구독 기반 Claude Code가 어디서든 호출 가능한 endpoint가 됩니다.
curl -X POST http://localhost:8080/run \
-d '{"prompt": "src 폴더에서 any 타입 전부 찾아서 고쳐줘"}'
# {"success": true, "output": "...", "durationMs": 12840}
이 endpoint가 생기면 시나리오가 달라집니다.
n8n / Make 자동화 — AI 노드가 API 키를 요구하는 대신, HTTP 노드에 이 endpoint를 넣으면 됩니다. API 키 입력란을 건너뛸 수 있습니다.
Slack 봇 — 팀 채널에서 코드 질문을 던지면 봇이 endpoint를 호출합니다. Anthropic API였으면 대화 한 번에 수십 센트씩 쌓였을 겁니다. 여기선 구독 안에서 해결됩니다.
CI 코드 리뷰 — PR이 올라올 때마다 diff를 보내면 됩니다. 하루에 몇 번이든 추가 비용은 없습니다.
배치 처리 — 문서 100개 요약, 레거시 파일 50개 타입 정리. 종량제였다면 돌리기 전에 청구서부터 계산했을 겁니다.
요즘 모든 프로그램이 API 키를 요구합니다. 이 endpoint는 그 자리에 들어갈 수 있는 구독 기반 대안입니다.
이 아이디어를 검증하기 위해 하나 만들었습니다.
claude-code-web — Agent SDK 위에 HTTP endpoint를 올리고, 웹 UI를 붙인 셀프호스팅 서버.
https://github.com/exitxio/claude-code-web
의도적으로 가볍게 만들었습니다. 전체 코드 약 1,800줄 TypeScript. Docker 컨테이너 두 개. 데이터베이스 없음.
cp .env.example .env && docker compose up --build
이 한 줄이면 돌아갑니다.
OAuth로 Claude 계정에 한 번 로그인하면 자격 증명이 저장되고, 이후로는 POST /run만 호출하면 됩니다. 워커를 미리 띄워놓아서 응답 지연을 줄였고, 단발 요청과 대화 맥락 유지 모드를 분리했습니다.
기존에 CLI를 자식 프로세스로 실행하고 stdout을 파싱하는 프로젝트들이 있었지만, 이건 Agent SDK를 직접 호출합니다. JSON in, JSON out. stdout을 긁을 필요가 없습니다.
GitHub에 MIT 라이선스로 공개해뒀으니, Agent SDK로 뭔가를 만들어보고 싶은 분이라면 레퍼런스로 참고하실 수 있습니다.
하지만 이 프로젝트 자체가 핵심은 아닙니다.
Agent SDK 덕분에, Claude 구독을 프로그래밍 방식으로 사용할 수 있는 길이 열렸습니다.
HTTP 서버를 만들 수도 있고, CLI 래퍼를 만들 수도 있고, 기존 도구에 플러그인으로 끼울 수도 있습니다. 형태는 자유입니다. 중요한 건 API 키 없이, 이미 내고 있는 구독 안에서, 에이전트를 코드로 다룰 수 있다는 사실입니다.
매달 내는 구독이 있다면 — 그건 터미널에만 갇혀 있을 이유가 없습니다.
물론 구독 rate limit은 그대로 적용됩니다. 한도를 우회하는 게 아니라, 그 안에서 접근 방식을 바꿔주는 것뿐입니다. 대량 프로덕션에는 API가 맞습니다. 하지만 개인 자동화, 소규모 팀 도구, 프로토타이핑 — 이 정도 규모라면 구독만으로 충분합니다.
API 키 피로에 지치셨다면, Agent SDK를 한번 들여다보세요. 이미 내고 있는 비용 안에서 생각보다 많은 게 가능합니다.
claude-code-web — Agent SDK 위에 만든 구독 기반 HTTP endpoint의 레퍼런스 구현. GitHub: MIT 라이선스. TypeScript 1,800줄. 데이터베이스 불필요.