터미널에서 돌아가는 AI 코딩 에이전트를 쓰다 보면 결국 두 이름 앞에서 고민하게 됩니다. 앤트로픽 공식 도구인 Claude Code, 그리고 오픈소스 진영의 대표주자 OpenCode입니다. 멀리서 보면 둘 다 "터미널에 사는 코딩 에이전트"라 비슷해 보이지만, 막상 손에 쥐면 설계 철학부터 다릅니다.
IT 직무에서 사내 LLM 인프라를 다루다 보니 두 도구를 실제 환경에 붙여보게 됐는데요. 특히 2026년 1월에 있었던 한 사건 이후로 "어느 쪽을 고를 것인가"의 기준 자체가 바뀌었습니다. 이 글에서는 모델 유연성, 터미널 UX, 아키텍처, 그리고 로컬 모델·폐쇄망 지원까지 실무 관점에서 정리해 보겠습니다.

세 줄 요약
① Claude Code = 앤트로픽 모델 전용, 관리형, 매끄러운 통합. ② OpenCode = 오픈소스, 75개+ 프로바이더, 로컬 모델·자체 호스팅 자유. ③ 결정 질문은 "결과(완성도)냐, 통제(자유도)냐" — 폐쇄망이라면 얘기가 또 달라집니다.
한눈에 보는 정체성 차이
가장 먼저 알아야 할 건 두 도구가 "같은 문제를 다른 각도에서 푼다"는 점입니다. Claude Code는 하나의 모델 계열에 대한 깊이를, OpenCode는 여러 모델을 아우르는 유연성을 최적화합니다.
Claude Code
앤트로픽 공식 CLI. Claude 모델만 구동(현재 기본값 Opus 4.8). 구독 기반이며 터미널·VS Code·JetBrains·데스크톱·웹에서 동작. "애플식" 통합 — 매끄럽지만 정해진 길로만.
OpenCode
오픈소스 코딩 에이전트. Claude·GPT·Gemini·DeepSeek부터 Ollama 로컬 모델까지 75개+ 프로바이더 연결. 소스를 읽고 포크하고 자체 호스팅 가능. GitHub 스타 17만 개 안팎으로 오픈소스 코딩 에이전트 1위.
한 레딧 유저의 한 줄 평이 이 차이를 스펙 시트보다 잘 요약합니다. "OpenCode는 당신을 개발자로 대하고, Claude Code는 사용자로 대한다." 둘 다 욕이 아닙니다. 어떤 날은 그냥 사용자로 편하게 배포하고 싶고, 어떤 날은 열쇠를 직접 쥐고 싶으니까요.
판을 바꾼 사건: 2026년 1월 OAuth 차단
두 도구 비교에서 이 사건을 빼놓을 수 없습니다. 2026년 1월 9일, 앤트로픽이 OpenCode에서 소비자용 OAuth 토큰(Claude Pro/Max 구독)으로 Claude에 접근하던 경로를 조용히 차단했습니다. OpenCode 측은 "앤트로픽의 법적 요청"을 언급하며 코드베이스에서 Claude Pro/Max 지원을 제거했고요.
그전까지 OpenCode의 숨은 매력 중 하나는 "이미 결제 중인 Claude 구독을 그대로 재사용"하는 것이었습니다. 그런데 이 경로가 막히면서, OpenCode를 쓴다는 건 더 이상 "Claude를 더 싸게 돌리는 방법"이 아니라 "관리형 제품을 쓸 것이냐, 열린 제품을 쓸 것이냐"라는 철학의 선택이 됐습니다.
참고로 인증(auth)은 물리 법칙이 아니라 정책입니다. 프로바이더는 언제든 특정 1st-party 클라이언트로만 자격 증명 범위를 좁힐 수 있어요. 어떤 구독 OAuth 흐름도 영원히 작동하리라 가정하고 워크플로우 전체를 거기에 묶는 건 위험합니다.
이 사건 이후 OpenCode는 유료 옵션들을 새로 내놨습니다. Black($200/월, 매진), Zen(마크업 없는 종량제 게이트웨이), 그리고 Go($10/월, GLM·Kimi·DeepSeek 등 오픈웨이트 모델 묶음)입니다. 참고로 개발 주체도 바뀌었는데, 기존 SST 팀이 Anomaly로 리브랜딩하면서 저장소가 anomalyco/opencode로 이동했습니다. 예전 sst/opencode 경로를 기억하고 있다면 갱신이 필요합니다.
핵심 항목별 비교
실무에서 체감되는 차이를 항목별로 끊어 보겠습니다.
| 항목 | Claude Code | OpenCode |
|---|---|---|
| 모델 | Claude 전용(Opus/Sonnet/Haiku). 검색은 Haiku, 추론은 Opus로 자동 라우팅 | 75개+ 프로바이더. 태스크별 모델 스왑, Ollama·vLLM 로컬 모델 가능 |
| 라이선스 | 폐쇄형, 앤트로픽 관리 | 오픈소스(MIT). 읽고·포크·자체 호스팅 자유 |
| 터미널 UX | stdout에 스트리밍하는 REPL. 단순·친숙하나 창 리사이즈 시 렌더링 깨질 수 있음 | OpenTUI 기반 정식 TUI. 자유 스크롤, 리사이즈 안정, 인라인 diff 하이라이트, 테마 커스텀 |
| 아키텍처 | 단순 CLI. 터미널 닫으면 종료(세션 재개는 지원) | 클라이언트/서버 분리. 원격 Docker 세션, 지속 서버 모드로 MCP 콜드부트 제거 |
| 되돌리기 | 자동 워크스페이스 스냅샷(세밀한 체크포인트) | Git 기반 /undo·/redo(프로젝트가 Git 저장소여야 함) |
| 속도 vs 검증 | 속도 우선("완료·확인·다음"). 리팩터링 빠름 | 철저함 우선. 전체 테스트 스위트 실행, 회귀 더 많이 잡음 |
| 비용 | Pro $20/월 ~ Max $100~200/월(구독형) | 도구는 무료. BYOK 종량 또는 Go $10/월. 로컬이면 API 비용 0 |
모델 유연성 — OpenCode의 결정적 무기
가장 큰 갈림길입니다. Claude Code는 Claude만 돌립니다. 대신 검색 같은 값싼 작업은 Haiku, 복잡한 추론은 Opus로 알아서 라운드로빈하며 비용을 눌러줍니다. 영리하지만 앤트로픽 생태계에 묶이는 건 사실이죠.
OpenCode는 config 한 줄로 프로바이더를 바꿉니다. 복잡한 추론은 Claude, 대량 처리는 저렴한 모델, 민감한 코드는 로컬 모델 — 이렇게 태스크별로 나누는 게 이론상 장점 같다가 막상 해보면 되돌아가기 힘들어집니다.
속도냐 안전이냐 — 실측에서 갈린 성향
동일 모델(Claude Sonnet)로 같은 리팩터링을 시킨 벤치에서, Claude Code는 9분대, OpenCode는 16분대가 나왔다는 결과가 있습니다. 다만 결과물을 뜯어보면 얘기가 달라집니다. Claude Code는 자기가 만든 테스트만 부분 검증하고 넘어가는 반면, OpenCode는 기존 200개+ 스위트를 전부 돌려 회귀를 잡았습니다. 솔로 개발자의 마감 앞에서는 속도가, CI/CD를 굴리는 팀에서는 그 7분의 추가 검증이 몇 시간의 프로덕션 디버깅을 아껴줄 수 있습니다.
로컬 모델과 폐쇄망 — 여기서 판단이 갈립니다
제 관심사이기도 한 부분입니다. 코드가 외부로 나가면 안 되는 환경(금융·의료·국방·폐쇄망)에서는 사실상 OpenCode + 로컬 모델이 유력한 후보가 됩니다. Claude Code는 기본적으로 앤트로픽 클라우드를 향하니까요.
OpenCode + Ollama(또는 vLLM) 조합은 실제로 잘 돌아갑니다. Ollama가 OpenAI 호환 API를 127.0.0.1:11434에 열고, OpenCode를 그 엔드포인트에 붙이면 됩니다. 설정도 간단합니다.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama (local)",
"options": { "baseURL": "http://localhost:11434/v1" },
"models": { "qwen3-coder": {} }
}
}
}
주의: 에이전트 코딩은 툴 콜(tool calling)을 지원하는 모델이라야 합니다. 툴을 못 쓰는 모델을 붙이면 OpenCode가 거부해요. 그리고 Ollama의 기본 컨텍스트가 4K로 잡히는 경우가 많은데, OpenCode는 최소 64K 이상을 요구하니 컨텍스트 길이를 반드시 키워야 합니다.
그런데 "완전 폐쇄망"은 아직 반쪽
여기서 현실적인 함정이 하나 있습니다. OpenCode는 로컬 모델을 잘 물지만, 정식 "오프라인/에어갭 모드"는 아직 없습니다. 시작 시 models.dev/api.json으로 모델·프로바이더 목록을 무조건 가져오려 하고, 패키지 매니페스트를 받으려다 인터넷이 막힌 환경에서 FailedToOpenSocket 에러로 멈추거나 지연되는 사례가 보고돼 있습니다.
실제로 GitHub에는 "모든 비-LLM 네트워크 접근을 끄는 완전 에어갭 모드"를 요청하는 이슈(#16117)가 올라와 있고, 아직 정식 지원은 없는 상태입니다. 로컬 엔진 자체는 오프라인에서 잘 돌기 때문에, 시작 시 fetch만 우회하면 쓸 수 있다는 게 커뮤니티 중론이지만 — 이 우회를 손수 해야 한다는 게 폐쇄망 운영자 입장에서는 부담입니다. 내부 미러(OPENCODE_MODELS_URL)와 텔레메트리 차단을 조합하는 패턴이 거론되지만 아직 일관성이 부족합니다.
정리하면 — 로컬 모델을 "돌리는 것"은 OpenCode가 앞섭니다. 하지만 외부 fetch를 원천 차단해야 하는 진짜 에어갭이라면, 정식 모드가 나오기 전까지는 검증·우회 작업을 각오해야 합니다. 안정적인 오프라인이 최우선이라면 Tabby(턴키 자체 호스팅)나 Aider + Ollama 같은 대안도 함께 저울질할 만합니다.
참고로 Claude Code 쪽도 엔터프라이즈에서는 Bedrock·Vertex나 LiteLLM 같은 게이트웨이를 경유해 사내 통제하에 붙이는 패턴이 있긴 합니다. 다만 이건 "관리형 도구를 사내 정책에 맞춰 우회 연결"하는 것이라, 로컬 오픈웨이트 모델을 직접 무는 OpenCode와는 결이 다릅니다.
공통 약점도 알아두기
둘 다 잊기 쉬운 공통 한계가 있습니다. 기본 상태로는 어느 쪽도 실시간 웹을 보지 못합니다. 모델이 학습한 시점까지만 알기 때문에, 어제 나온 라이브러리 릴리스나 의존성의 파괴적 변경, 최신 문서는 보이지 않습니다. 최신 문서 연동(MCP, 서브에이전트 리서치 등)을 별도로 붙여야 이 공백이 메워집니다.
또 하나, OpenCode는 "자유에는 잘못 설정할 자유도 포함된다"는 점을 유념해야 합니다. 에이전트 권한이 기본적으로 넓게 열려 있다는 지적이 있어, 초기 권한 설정(permission)을 ask로 조여두는 습관이 안전합니다.
상황별 추천 — 어떤 걸 골라야 할까
| 당신의 상황 | 추천 |
|---|---|
| Claude 모델로 최고 완성도를, 설정 최소화로 바로 쓰고 싶다 | Claude Code |
| 여러 모델을 태스크별로 갈아끼우고, 벤더 로드맵에서 자유롭고 싶다 | OpenCode |
| 코드가 절대 외부로 못 나간다(로컬 모델 필수) | OpenCode + Ollama/vLLM |
| 외부 fetch까지 원천 차단하는 완전 에어갭 | OpenCode(우회 각오) 또는 Tabby·Aider 병행 검토 |
| 팀 규모가 커서 구독 비용이 부담이고 로컬로 돌릴 여력이 있다 | OpenCode |
| 깊은 파이프라인(계획→서브에이전트→PR)을 매끄럽게 굴리고 싶다 | Claude Code |
최종 정리
"결과에 더 신경 쓰는가, 통제에 더 신경 쓰는가." 이게 핵심 질문입니다. 매끄러운 완성도와 최신 Claude 통합이 중요하면 Claude Code, 모델 자유·나은 터미널·벤더 종속 탈출이 중요하면 OpenCode입니다. 그리고 코드를 절대 내보낼 수 없는 환경이라면 로컬 모델을 직접 무는 OpenCode가 사실상 유일한 실전 후보에 가깝습니다 — 다만 완전 에어갭은 아직 손이 더 갑니다.
개인적으로는, 둘 중 하나를 "정답"으로 못 박기보다 실제 자기 코드베이스에 30분씩 돌려보길 권합니다. 벤치마크 표 100개보다, 내 프로젝트의 유령 같은 의존성 사슬을 30분 만져보는 게 훨씬 많은 걸 알려주거든요. 여러분은 완성도와 자유도 중 어느 쪽에 더 무게를 두시나요?
주의: 본문의 가격·구독 정책·GitHub 스타 수치는 2026년 상반기 기준으로, 두 도구 모두 거의 매일 업데이트되므로 도입 전 공식 페이지에서 최신값을 확인하시기 바랍니다.
이 포스팅에는 쿠팡 파트너스 활동의 일환으로 일정 수수료를 제공받을 수 있습니다.
'Tech > AI & LLM' 카테고리의 다른 글
| LLM 게이트웨이·MCP 허브 통제구조 설계 총정리 — 엔터프라이즈 AI 거버넌스 2계층 (0) | 2026.07.03 |
|---|---|
| AI가 코드 180% 더 짜는데 배포는 30%뿐, '코드 병목' 진짜 이유는 (0) | 2026.07.03 |
| Claude Code 멀티 세션 제대로 쓰는 법 — 터미널 여러 개 띄우고도 안 헷갈리는 워크플로우 (0) | 2026.06.29 |
| GLM-5.2 증류 논쟁 총정리 — 클로드 오퍼스 1% 추격한 오픈소스 코딩 모델의 진실 (0) | 2026.06.26 |
| Claude Code 권한 모드 총정리 — plan·accept edits·auto 차이와 shift+tab 활용법 (0) | 2026.06.24 |