Claude Code 작업을 옆에서 확인하는 macOS 앱 'tanacode' 1.0.0 출시
요약
macOS 앱 'tanacode'가 출시되어 Claude Code (`claude` CLI) 사용 경험을 혁신합니다. 이 앱은 IDE, 터미널, 채팅 인터페이스를 통합하여 Claude의 작업 과정을 한눈에 모니터링할 수 있게 합니다. 개발자는 코드를 작성하는 대신 검토와 수정에 집중하며, AI가 어떤 파일을 읽고 판단했는지 시각적으로 파악할 수 있습니다.
핵심 포인트
- IDE, 터미널, 채팅을 통합하여 Claude Code 작업 과정을 한 화면에서 모니터링 가능합니다.
- Claude가 참조한 파일(읽은/작성한)과 컨텍스트 사용량을 시각적으로 표시해 '기억 범위'를 파악할 수 있습니다.
- 앱 내 브라우저 기능을 통해 특정 UI 요소를 선택하여 Claude에게 수정 지시사항으로 첨부할 수 있습니다.
- 개발자는 코딩보다 검토 및 확인 작업에 집중하며, AI의 작동 흐름을 놓치지 않게 됩니다.
macOS 앱 'tanacode'를 만들어 Claude Code (claude CLI)와 IDE를 하나의 창에 통합했습니다. 이를 첫 공식 버전인 1.0.0으로 출시했습니다.
코드를 작성하는 것은 Claude에게 맡기고, 사람은 확인과 작은 수정만 담당합니다. 이를 위해 Claude가 현재 무엇을 하고 있는지, 무엇을 읽었는지, 병렬로 무엇이 작동하고 있는지를 채팅 옆에 표시해 주는 앱입니다. 이 안에서 작동하는 것은 설치된 claude CLI 그 자체이므로, 평소 사용하던 스킬이나 CLAUDE.md, hooks, MCP 설정이 그대로 사용 가능합니다.

먼저 브라우저로 데모를 체험해 보세요
설치하지 않아도 브라우저에서 실제 화면을 만져볼 수 있는 데모를 준비했습니다. 하나의 세션 작업을 처음부터 끝까지 추적하는 8개 장의 투어 형식입니다.
데모는 가상의 데이터로 작동하므로, 실제 Claude와 연결되지는 않습니다. 부담 없이 체험해 보세요.
왜 만들었나
Claude Code에 작업을 맡기게 되면서, 자신의 일은 '작성'에서 '확인 및 검토'로 바뀌고 있습니다. 그런데 터미널만으로는 그 '확인' 과정이 어렵거나 불편한 순간들이 있었습니다.
- 맡겨둔 동안 현재 무엇을 하고 있는지 흐름이 지나가 버림
- Claude가 어떤 파일을 읽고 판단했는지 알 수 없음
- 화면의 어느 부분을 고쳐달라고 말로 설명하기 어려움
- 변경 사항이 많아지면, 푸시 전 검토(review)가 어려움
- 여러 세션을 병렬로 돌릴 경우, 무엇이 자신의 답변을 기다리는 것인지 놓치기 쉬움
에디터, 터미널, 브라우저, git 클라이언트를 오가며 Claude Code를 감시하는 것이 아니라, Claude Code의 작업 중심으로 확인하기 위한 도구들을 하나의 화면에 모으고 싶다고 생각하여 tanacode를 만들었습니다.
원래는 저 자신이 사용하기 위해 만들기 시작한 것이었습니다. 사용하면서 개선해 나가는 과정에서 개인적으로 만족스러운 결과물이 되었기에, 과감하게 공개하기로 결정했습니다. 이것이 첫 OSS(Open Source Software) 도전입니다.
기능
작업하는 동안의 상황을 볼 수 있습니다
도구 조작은 한 줄에 접어서 표시하며, 변경된 파일이나 서브 에이전트의 움직임도 그 자리에서 확인할 수 있습니다. 질문(AskUserQuestion)이나 승인 확인에는 채팅 버튼으로 답변할 수 있습니다.
Claude가 '알고 있는 범위'를 알 수 있습니다
현재 대화에서 Claude가 읽은 파일은 파란색, 작성한 파일은 주황색 점으로 파일 트리에 표시됩니다. 컨텍스트 압축(Context compression)으로 요약에 대체된 파일도 구분하여 보여주기 때문에, '이 파일을 현재의 Claude가 기억하고 있는가?'를 한눈에 알 수 있습니다. 컨텍스트 사용량은 미터로 표시되며, hooks의 출력이나 중단 사유는 채팅창에 나타납니다.
나아가, 컨텍스트 내용을 보면서 압축으로 남길 것과 버릴 것을 선택할 수도 있습니다.
앱 내 브라우저에서 '여기를 고쳐줘'라고 지시할 수 있습니다
개발 중인 페이지를 앱 안에서 열고, 클릭하여 선택한 요소의 셀렉터(selector), HTML, 이미지를 그대로 Claude에게 지시사항으로 첨부할 수 있습니다.
수정 후에는 Claude도 같은 브라우저로 페이지를 열어 스크린샷, 콘솔, 클릭 등으로 스스로 확인할 수 있습니다 (MCP로 작동. 별도로 설치할 것은 없습니다. 로컬호스트(localhost)와 같은 개발용 주소만 열 수 있습니다). 로그인처럼 Claude가 할 수 없는 작업은, 작업 도중에 사람에게 부탁하고 완료되면 버튼을 눌러 다음부터 재개합니다.
푸시 전에 PR처럼 검토할 수 있습니다
브랜치가 분기된 지점부터의 변경 사항(커밋된 것 포함)을 풀 리퀘스트(Pull Request, PR)와 같은 목록으로 확인할 수 있습니다. 차이점 줄에 달린 코멘트는 다음 지시에 첨부하여 Claude에게 전달할 수 있습니다. GitHub에서 PR을 만들 필요가 없습니다.
병렬로 작동해도 놓치지 않습니다
세션의 상태(작업 중, 완료 대기, 질문 답변 대기, 새로운 응답)를 목록 표시로 구분하고, 보고 있지 않은 세션의 완료나 확인은 macOS 알림으로 알려줍니다. 세션별로 claude --worktree 명령어로 작업 폴더와 브랜치를 분리하기 때문에, 같은 리포지토리라도 병렬로 다루어도 변경 사항이 충돌하지 않습니다.
또한, **부모-자식 세션(親子セッション)**이라는 기능도 있습니다. 부모 세션의 Claude가 MCP의 툴로 자식 세션을 시작하여 지시를 내리고 상황을 관찰한 후 다음 지시를 내립니다. 서브 에이전트와 다른 점은, 자식이 tanacode의 일반적인 세션이라는 것입니다. 목록에 나열되므로 사람이 언제든지 열어서 직접 지시하거나 질문에 답할 수 있습니다.
길어진 대화 정리 및 회고
- 영어로 돌아온 사고 과정이나 응답을 버튼 하나로 일본어로 번역합니다 (macOS 기본 기능을 사용하며, Mac 내에서 번역하므로 외부로 전송되지 않습니다. macOS 15 이상).
- 작업 흐름을 채팅과 같은 모양의 단일 HTML 파일로 추출합니다.
사용량 제한이나 업데이트도 신경 쓸 필요가 없습니다
5시간 단위와 주간 할당량 사용률 및 리셋까지 남은 시간을, Mac의 CPU 및 메모리 사용량을 항상 표시합니다. 포함된 Claude Code가 동작 확인이 완료된 버전과 다르면 상태 표시줄에 표시되며, 최신 Claude Code로 작동하는지도 매일 자동으로 확인합니다.
평소의 Claude Code처럼 사용할 수 있습니다
tanacode는 Claude Code를 재구축한 것이 아니라, 실제 claude CLI를 구동하여 그 모습을 보여주는 앱입니다.
- 스킬(Skill), CLAUDE.md, hooks, MCP 설정이 그대로 유효합니다.
- 터미널에서 시작한 대화도 가져올 수 있습니다.
- 앱을 닫아도 Claude Code는 계속 작동합니다. Remote Control로 스마트폰에서 이어서 진행하는 것도 가능합니다.
- Claude Code의 설정(
~/.claude/settings.json등)에는 기록하지 않습니다. tanacode 자체적으로 정보를 외부로 전송하는 메커니즘도 없습니다.
구조에 대해 조금만
관심 있는 분들을 위해, 어떻게 Claude Code의 내용을 보여주는지 간단히 소개합니다.
- 실제를 합니다. 시작되는 것은 앱 본체가 아니라 상주하는 pty 호스트 프로세스입니다. 따라서 앱을 재시작해도 Claude Code는 멈추지 않으며, 다시 실행된 앱이 화면과 대화를 그대로 이어받습니다.
claude
을 node-pty로 구동합니다. - 채팅은 pty의 화면이 아니라 대화 로그(
~/.claude/projects/<폴더>/<id>.jsonl)에서 구성됩니다.fs.watch를 통해 즉시 읽고,/clear로 대화가 전환되어도 추적합니다. - 모델/컨텍스트 사용률/사용량 제한 등은 앱이 구동하는 Claude Code에만--settings로 추가된 statusLine으로부터 받습니다. 사용자 자신의 statusLine을 설정했다면, 같은 JSON을 그쪽에도 전달합니다. - 질문이나 허가 확인 등의 선택 메뉴만, pty의 화면을 가상 터미널로 재현하여 읽어들이고, 선택한 답변을 ↑/↓ 및 Enter 키 입력으로 전송합니다.
Claude Code 업데이트에 따라 표시나 조작이 변경될 수 있으므로, 동작 확인이 완료된 버전을 정하고 최신 Claude Code에서도 작동하는지 매일 CI를 통해 확인하도록 하고 있습니다.
설치
필요한 것은 macOS 13 이상(Apple Silicon 및 Intel)과 최초 설정(테마 선택 및 로그인)을 마친 Claude Code입니다.
Homebrew 사용을 권장합니다.
brew install --cask sny-tanaka/tanacode/tanacode
업데이트도 brew upgrade만 하면 됩니다. 해당 Mac(Apple Silicon 및 Intel)에 맞는 앱이 설치됩니다.
그 외, 소스에서 빌드하거나 (직접 빌드한 앱에는 다운로드 표시가 붙지 않으므로 경고는 발생하지 않습니다), 릴리스의 빌드된 앱(pkg/zip. 최초 한 번만 허용 절차가 필요합니다)으로도 설치할 수 있습니다. 자세한 내용은 README를 참고해 주세요.
사용 방법은 GUIDE.md에 정리되어 있습니다.
마무리
Claude Code에게 맡기는 시간이 길어질수록, '맡긴 것을 어떻게 확인할지'가 중요해집니다. tanacode가 그 확인하는 시간을 조금이라도 편하게 만들 수 있다면 기쁠 것 같습니다.
버그나 요청 사항은 Issues로 부탁드립니다.
기여자(Contributor)도 모집합니다. 기능 추가, 버그 수정, 문서 개선 등 어떤 형태든 환영합니다. 개발을 시작하는 방법이나 구조는 CONTRIBUTING.md에 정리되어 있습니다. 큰 변경 사항은 구현 전에 Issue를 통해 상담해 주시면 감사하겠습니다.
마음에 드셨다면 GitHub에서 ⭐(별점)을 눌러주시면 힘이 됩니다. 만약 '응원하고 싶다'고 생각하시는 분이 계시다면, GitHub Sponsors를 통해서도 지원해 주시면 기쁠 것 같습니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기