Claude Code가 독보적이라고 생각했던 CLI에, Devin for Terminal이라는 선택지가 등장하다
요약
Devin for Terminal은 Cognition이 발표한 터미널 기반의 코딩 CLI로, 로컬 설치 및 실행이 간편하며 클라우드 측에서 작업을 지속할 수 있는 'Start Local, Hand Off to the Cloud' 설계 사상을 따릅니다. 이 도구는 Claude Code와 유사하게 커스텀 스킬(Skills) 정의 방식과 서브 에이전트(Subagents) 자동 임포트를 지원하여 높은 호환성을 보여줍니다. 또한 GitHub, Notion 등 다양한 서비스에 대한 OAuth 대응 MCP 서버 추가 기능을 제공하며, 라이프사이클 훅을 통해 개발 워크플로우를 확장할 수 있습니다.
핵심 포인트
- Devin for Terminal은 Rust로 작성된 커스텀 렌더링 라이브러리를 사용하며, VT-100에서도 동작하는 로컬 CLI입니다.
- 설계 사상은 'Start Local, Hand Off to the Cloud'이며, `curl` 한 줄 설치와 `devin` 실행으로 간편하게 사용할 수 있습니다.
- Claude Code의 Skills 정의 방식과 유사한 Markdown 기반 커스텀 스킬 시스템을 지원하여 높은 호환성을 가집니다.
- 서브 에이전트(Subagents)를 `.devin/agents/` 디렉토리에 정의할 경우, Claude Code의 서브에이전트를 자동으로 임포트하여 사용할 수 있습니다.
- MCP(Model Context Protocol) 기능을 통해 GitHub, Notion 등 다양한 서비스와 OAuth 방식으로 연동되며, 라이프사이클 훅을 지원합니다.
이 기사가 도움이 되었다면, 화면의 「좋아요」나 스톡을 눌러주시면 다음 글을 쓰는 데 큰 힘이 됩니다. (건너뛰고 본문부터 읽으셔도 괜찮습니다)
「터미널에서 동작하는 코딩 CLI = Claude Code」, 저는 반년 정도 그렇게 단정 짓고 있었습니다.
그런데 2026년 4월 27일, Cognition이 devin 명령어를 내놓았습니다. Devin for Terminal. 공식 블로그에서는 터미널 UI를 위해 Rust로 작성한 커스텀 렌더링 라이브러리를 사용하고 있다고 언급된 로컬 CLI로, curl 한 번으로 설치할 수 있으며, 노트북을 닫아도 클라우드 측에서 작업을 계속해 준다고 적혀 있습니다.
「로컬 CLI라면 Claude Code로 충분하겠지」라며 처음에는 대수롭지 않게 넘겼지만, 1주일간 병행해서 사용해 보니 상상 이상으로 기능이 잘 갖춰져 있었고, 게다가 Claude Code의 Subagent 설정이 그대로 동작한다는 것을 알게 되었을 때 생각이 바뀌었습니다.
이 기사는 Devin for Terminal의 기능을 공식 문서에 준하여 제대로 소개하면서, Claude Code와 나란히 사용해 본 소감을 작성합니다.
1분 만에 Devin for Terminal
공식 발표(2026/4/27)와 공식 문서 cli.devin.ai를 읽어보면, 대략 다음과 같은 위치를 차지하고 있습니다.
| 항목 | 내용 |
|---|---|
| 설치 | `curl -fsSL https://cli.devin.ai/install.sh |
| 실행 | 프로젝트 디렉토리에서 devin |
| 구현 | 터미널 렌더링은 Rust 라이브러리 (공식 블로그). 「VT-100에서도 동작한다」고 데모에서 소개 |
| 대응 모델 | Opus 4.7 / GPT-5.5 / Cognition 자사의 SWE-1.6 전환 가능 |
| 설계 사상 | "Start Local, Hand Off to the Cloud" |
| Windsurf | Windsurf Enterprise v1.9577.24 이후 버전부터 번들 제공 |
curl 한 줄로 설치하고 devin으로 실행하는 단순함은 Claude Code와 같은 감각으로 다룰 수 있습니다.
Devin for Terminal의 기능, 생각보다 충실했다
이 부분이 이 기사의 주제입니다. 「로컬 버전의 부가 기능이겠지?」라고 생각하며 공식 문서를 열었더니, 상상했던 것보다 3배 정도 기능이 많았습니다.
기능 1: Skills — Claude Code 호환 지시서 시스템
.devin/skills/<스킬 이름>/SKILL.md와 같이 스킬 이름의 디렉토리 하위에 SKILL.md를 두어 커스텀 스킬을 정의합니다. YAML 프런트매터 (YAML front matter)가 포함된 Markdown 형식으로, Claude Code의 Skills와 거의 동일한 방식으로 작성합니다. allowed-tools에 사용할 수 있는 것은 공식적으로 열거된 소문자 도구 이름(read, edit, grep, glob, exec 등)입니다.
---
name: deploy-staging
description: 스테이징 환경으로 배포
...
배치 장소의 예시 (공식의 Skills Overview에 따른 대표적인 예)입니다.
| 장소 | 스코프 (Scope) |
|---|---|
.devin/skills/ 또는 .agents/skills/ 등 | 프로젝트 전용 (git 관리 대상) |
~/.config/devin/skills/ | 글로벌 (모든 프로젝트에서 사용) |
~/.codeium/<channel>/skills/ | 채널 의존적 글로벌 (windsurf / windsurf-next / windsurf-insiders 등) |
/skill-name으로 사용자로부터 호출할 수도 있고, 에이전트 (agent)가 문맥으로부터 자동 호출할 수도 있습니다.
기능 2: Subagents — Claude Code의 agent 파일을 자동 임포트
이 부분이 개인적으로 가장 놀라웠던 점입니다.
Devin for Terminal의 커스텀 서브 에이전트 (Subagent)는 .devin/agents/<프로필 이름>/AGENT.md (예: reviewer/AGENT.md)
)で 정의할 수 있습니다. 또한 과 공식 문서에 명시되어 있습니다.
.claude/agents/*.md
도 자동으로 임포트하여 사용할 수 있다는 차이점은 「tools 필드」 vs 「allowed-tools 필드」 정도이며, 양자는 자동으로 매핑됩니다. 이는 전환 비용 (Switching Cost)을 노골적으로 낮추려는 의도입니다.
기능 3: MCP — OAuth 대응 GitHub / Notion / Linear / Jira
MCP 서버 추가 방법은 다음과 같습니다.
# stdio 서버 (공식 예제에서는 npx에 -y를 붙이는 경우가 많음)
devin mcp add github -- npx -y @modelcontextprotocol/server-github
# HTTP 서버 (OAuth 대응)
...
설정 범위 (Scope)도 3단계입니다.
| 파일 | 용도 |
|---|---|
.devin/config.local.json | 개인용 (git 제외) |
.devin/config.json | 프로젝트 공유 |
~/.config/devin/config.json | 글로벌 |
주의할 점은 「Streamable HTTP만 대응하며, SSE 트랜스포트 (SSE Transport)는 지원하지 않음」이라고 공식적으로 기재되어 있다는 것입니다. 새로운 서버를 선택할 때는 이 부분을 유의해야 합니다.
기능 4: Hooks — Claude Code와 호환되는 라이프사이클 훅 (Lifecycle Hooks)
Hooks 공식 문서에서는 PreToolUse / PostToolUse / PermissionRequest 등 Claude Code와 동일한 이벤트 모델로 커맨드나 프롬프트 (Prompt)를 삽입할 수 있다고 설명되어 있습니다. .devin/hooks.v1.json이나 각종 설정의 hooks 키 외에도, 기본적으로 ** read_config_from.claude 가 활성화되어 있을 때 .claude/settings.json의 hooks 도 읽어온다**는 내용이 적혀 있습니다. 세션 중에는 ** /hooks 로 읽기 목록을 확인할 수 있습니다.
기능 5: Permission Mode — Autonomous는 OS 레벨 샌드박스 (Sandbox)
Claude Code의 권한 모드 (Permission Mode)에 해당하는 것이 4단계 있습니다.
| 모드 (Mode) | 자동 승인 범위 | 권장 용도 |
|---|---|---|
| Normal (기본값) | 현재 디렉토리 내 읽기 등 읽기 계열은 자동 승인하고, 쓰기나 셸 (Shell)은 확인 | 일반적인 작업 |
| Accept Edits | 워크스페이스 내 파일 편집은 자동, 셸은 확인 | 편집 중심의 태스크 |
| Bypass | 모든 툴 콜 (Tool Call)을 자동 승인 | 신뢰할 수 있는 상황 |
| Autonomous | --sandbox 시에만 작동. OS 레벨 샌드박스 (OS-level sandbox)에서 셸을 격리한 후 자동 승인 | 방치하여 실행하고 싶은 상황 |
포인트는 Autonomous 모드입니다. Bypass처럼 머신 전체를 방치하는 것이 아니라, OS 레벨의 샌드박스에서 셸 실행을 격리합니다. 공식적인 Bypass와의 대비표에서는, ** edit / write 계열은 Autonomous에서도 계속해서 프롬프트** (스코프 확대로 허가), 네트워크는 샌드박스의 allow/deny로 필터링하는 방식으로 정리되어 있습니다. 이는 「완전히 방치하여 돌리고 싶지만, 정말로 무엇이든 건드리는 것은 무섭다」라는 딜레마에 대한 공식적인 하나의 해답이 됩니다.
기능 6: Agent Mode — Normal / Plan / Ask
권한 모드 (Permission Mode)와는 별개의 축으로, 에이전트의 동작을 바꾸는 모드도 있습니다.
| 모드 (Mode) | 실행 | 동작 |
|---|---|---|
| Normal | 기본값 | 코드 변경을 포함한 일반 모드 |
| Plan | /plan | 계획 수립에 집중, 코드 변경 안 함 |
| Ask | /ask <질문> | 질문 응답만 수행, 코드 작성 안 함 |
Claude Code의 Plan 모드와 같은 발상입니다.
기능 7: 클라우드 핸드오프 (Cloud Handoff) — 이 부분이 Claude Code와의 최대 차이점입니다.
/handoff 명령 하나로 로컬에서 실행하던 세션을 Devin Cloud로 넘길 수 있습니다. PC를 닫고 계속 진행할 수 있습니다.
/handoff
에는 다음과 같은 특징이 있습니다.
- 인자 없이 실행하면 현재 대화를 자동으로 요약하여 클라우드 측으로 전달
- 로컬의 git diff도 함께 전송됨 (커밋되지 않은 변경 사항이 보이는 상태로 클라우드가 수신)
- 빈 프롬프트로
&를 입력하는 것만으로 handoff 모드에 진입할 수 있는 단축키 제공 (!로 bash 모드에 진입하는 것과 같은 감각)
클라우드 측은 자체 VM (Virtual Machine)에서 동작하므로, 로컬 머신을 닫아도 작업은 계속됩니다. 이는 Claude Code에는 대응하는 기능이 없습니다.
기능 8: 슬래시 명령어와 단축키
평소 사용하기 편리한 기능들도 제대로 갖춰져 있습니다.
| 조작 | 내용 |
|---|---|
/mode <name> | permission mode 전환 |
/loop <prompt> | 자동 diff 리뷰를 포함하여 프롬프트 실행 |
/workspace | 워크스페이스 디렉토리 목록 |
/help | 모든 명령어 표시 |
/hooks | 로드된 Hooks 목록 |
Shift+Tab | mode를 순차적으로 전환 |
@ | 파일명을 보완하여 컨텍스트 (Context)에 추가 |
Ctrl+V | 클립보드에서 이미지 붙여넣기 |
Ctrl+G | 외부 에디터에서 편집 |
devin -c | 직전 세션 재개 (resume) |
devin -r | 재개하고 싶은 세션을 목록에서 선택 |
Shift+Tab으로 mode를 전환하는 감각은 Claude Code와 매우 흡사합니다.
Claude Code와 비교한 기능 대응표
지금까지 소개한 기능들을 Claude Code 측과 나란히 비교하면 다음과 같습니다.
| 기능 | Claude Code | Devin for Terminal |
|---|---|---|
| 실행 | claude | devin |
| 대응 모델 | Anthropic 모델 중심 | Opus 4.7 / GPT-5.5 / SWE-1.6 전환 가능 |
| Skills | ✅ .claude/skills/<이름>/SKILL.md | ✅ .devin/skills/<이름>/SKILL.md 등 (.agents/skills/ 도 가능) |
| Subagents | ✅ .claude/agents/*.md | ✅ .devin/agents/<이름>/AGENT.md + Claude 형식 자동 임포트 |
| MCP | ✅ | ✅ (OAuth 대응, Streamable HTTP만 가능) |
| Permission mode | default / acceptEdits / plan / bypassPermissions 등 (--dangerously-skip-permissions는 바이패스 계열) | Normal / Accept-Edits / Bypass/Autonomous (--sandbox 시) |
| Plan mode | ✅ | ✅ /plan |
| 클라우드 연동 | 없음 | ✅ /handoff로 Devin Cloud에 인계 |
| 멀티 에이전트 병렬 | Subagents | worktree 없이 동일 리포지토리에 여러 개 |
| Hooks | ✅ PreToolUse 등 | ✅ Claude Code와 동일한 형식 (.devin/hooks.v1.json 또는 .claude에서 읽기 가능) |
"손색없다"고 느낀 4가지 포인트
일주일간 사용하면서 특히 이 4가지 점에서 "Claude Code가 아니어도 괜찮겠다"고 느꼈습니다.
1. Claude Code의 Subagent가 그대로 동작함
.claude/agents/를 정성껏 만들어둔 프로젝트에서 devin을 실행하면, 기존의 agent가 그대로 선택지에 나타났습니다. 교체가 아니라 병행 사용이 가능하다는 점은 매우 큽니다. 저의 경우 "Explore적인 agent"와 "PR Reviewer적인 agent"를 Claude Code 측에 작성해 두었는데, 이것을 그대로 사용할 수 있었다는 점은 솔직히 놀라웠습니다.
2. Autonomous 모드의 설계가 한 단계 앞서 있음
「방치해 두고 돌리고 싶지만, 정말로 무엇이든 실행되는 것은 무섭다」는 것은 Claude Code에서도 오랜 딜레마였습니다. --dangerously-skip-permissions는 강력하지만, 네트워크나 외부 쓰기까지 자유로워집니다.
Devin for Terminal의 Autonomous는 --sandbox를 통해 OS 레벨의 격리(Isolation)를 적용한 상태에서 셸(Shell) 실행 등을 자동 승인하는 설계입니다. 공식 설명에 따르면 edit / write 계열은 프롬프트가 남으며, 네트워크는 샌드박스의 도메인 제어 하에 다뤄집니다. Bypass만큼 '터미널 상의 모든 것이 암묵적 승인'되는 방식이 아니라는 점에서, 밤새 돌려놓을 때의 안심감이 다릅니다.
3. 멀티 모델(Multi-model)을 하나의 CLI에서 전환할 수 있음
Claude Code는 Anthropic 모델 중심의 세계관입니다. 반면 Devin for Terminal은 Opus 4.7과 GPT-5.5, 그리고 Cognition 자사의 SWE-1.6을 하나의 CLI 내에서 전환할 수 있습니다.
"이 리팩터링(Refactoring)은 Opus로, 이 대량 생성은 GPT-5.5로"와 같은 구분 사용을 도구를 바꾸지 않고 할 수 있다는 점은 효율적입니다.
4. 클라우드로 넘길 수 있는 탈출구가 있음
이것은 Claude Code에는 없는, Devin for Terminal의 가장 큰 독자 기능입니다. 무거운 처리만 /handoff로 클라우드에 넘겨서, 로컬은 가볍게 유지할 수 있습니다.
"밤중에 대량의 테스트 코드 수정을 돌리고 싶지만, 내 MacBook은 닫고 자고 싶다"는 상황에서, /handoff를 입력하고 Mac을 닫으면, 태스크에 따라서는 아침까지 Devin Cloud 측에서 PR(Pull Request)까지 진행되어 있는 경우도 있습니다 (보증이 아닌 소감입니다).
Claude Code가 여전히 강한 영역
솔직히 쓰자면, Claude Code 측이 여전히 유리한 부분도 있습니다.
| 관점 | Claude Code가 유리한 이유 |
|---|---|
| 생태계 및 문헌의 두께 | Skills / Subagents / Hooks / Auto Mode를 조합한 기사, 사례, 팀 운영의 축적은 현시점에서 Claude Code가 앞서가는 경향이 있음 (Devin 측도 Hooks는 Claude 호환으로 불러올 수 있지만, 검색 시 히트하는 절차서의 양에서 차이가 나기 쉬움) |
| 클라우드 버전 Devin의 독자 기능을 CLI에서 사용할 수 없음 | Knowledge / Playbooks / Secrets는 Devin for Terminal에서 현재 미지원. 공식 Quickstart에서는 순차적 지원을 목표로 개발 중이라고 명시됨 |
특히 마지막 점은 중요한데, "Devin의 묘미는 Knowledge와 Playbook"이라는 기존의 평가 축으로 본다면, CLI만으로 Devin을 평가하기에는 아직 이르다고도 할 수 있습니다.
어떻게 구분해서 사용할 것인가
| 시나리오 | 권장 | 이유 |
|---|---|---|
| Anthropic 모델 중심의 대화형 개발 | Claude Code | 생태계가 두터움 |
이미 .claude/agents/를 구축해 둔 경우 | Devin for Terminal | 그대로 사용할 수 있으며, 추가로 클라우드 연동도 얻을 수 있음 |
| GPT-5.5나 SWE-1.6을 시도하고 싶은 경우 | Devin for Terminal | 멀티 모델 전환이 공식 기능임 |
| 밤중에 방치해 두고 돌리고 싶은 경우 | Devin for Terminal | Autonomous (--sandbox) + OS sandbox + 클라우드 핸드오프 (Handoff) |
| ... |
마치며
솔직히 처음에는 "Claude Code로 충분하잖아"라고 생각하며 devin 명령어를 테스트했습니다.
일주일 후, 저의 .claude/agents/가 그대로 동작하고, --sandbox로 안전하게 밤새 돌릴 수 있게 되었으며, /handoff로 무거운 처리만 클라우드로 넘길 수 있게 되었습니다. Claude Code를 버린 것이 아니라, 터미널 CLI에 선택지가 늘어났다는 감각입니다.
"터미널에서 동작하는 코딩 CLI = Claude Code"라고 믿고 있던 반년 전의 자신에게, "devin이라는 것이 2026/4/27에 나오니까 한번 써봐"라고 말하고 싶습니다. 그 정도로 손색이 없으며, 부분적으로는 앞서가는 기능도 있습니다.
두 가지 모두 설치하여, 태스크(Task)마다 구분해서 사용하는 것이 2026년 5월 시점의 최적해라고 생각합니다.
참고 링크
Devin for Terminal 공식
- Devin for Terminal (제품 페이지)
- Cognition Blog - Devin for Terminal: Start Local, Hand Off to the Cloud
- Devin for Terminal Docs - Essential Commands
- Devin for Terminal Docs - Skills Overview
- Devin for Terminal Docs - Subagents
- Devin for Terminal Docs - MCP Configuration
- Devin for Terminal Docs - Hooks
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기