Introducing Claude Mods
Claude Mods 소개 — TypeScript로 Claude Code를 확장하는 기능
Claude Mods는 TypeScript 함수로 Claude Code의 동작과 UI를 바꾸는 확장 기능입니다. 이벤트를 가로채 프롬프트나 기능을 수정하고, 플러그인으로 설치·공유합니다. Claude Code와 같은 시스템 접근 권한을 가지므로 신뢰할 수 있는 모드만 설치해야 합니다.
- 주제
AI 요약
Anthropic이 Claude Code의 동작과 화면을 개발자가 직접 바꾸는 Claude Mods를 공개했습니다. 모드는 특정 이벤트에 연결하는 작은 TypeScript 함수입니다. 기존 플러그인에 넣어 CLI와 데스크톱 앱에서 설치하고 공유합니다.
이벤트를 가로채 동작을 바꿉니다
Claude Code는 도구를 호출하거나 권한을 요청하고 화면 일부를 그릴 때마다 이벤트를 발생시킵니다. 모드는 이벤트가 일어나기 전이나 후에 실행하거나, 원래 동작을 대신하거나, 전후 처리를 감싸도록 구성할 수 있습니다. 여러 모드가 같은 이벤트를 다루면 불러온 순서대로 실행됩니다. 먼저 로드된 모드는 이벤트를 먼저 보고, 결과는 마지막에 확인합니다. 서로 다른 개발자의 모드를 함께 쓸 수 있도록 한 방식입니다.
모드는 화면에도 개입합니다. 도구 결과나 Claude의 질문처럼 Claude Code가 표시하는 UI 일부를 편집하거나 대체하고, 버튼과 입력란을 추가할 수 있습니다. 터미널, 데스크톱 앱, 또는 둘 모두를 대상으로 지정합니다. Anthropic은 기존 Hooks로는 이벤트를 다시 쓰거나 UI를 그리거나 기본 기능을 바꾸기 어려웠다고 설명합니다.
직접 만들고 기본 기능도 교체합니다
개발자는 TypeScript로 모드를 작성할 수 있고, Claude Code에 모드 작성을 맡길 수도 있습니다. Claude Code가 코드를 만들고 설치한 뒤 현재 세션에서 핫 리로드까지 처리합니다. 기본 제공 기능 일부도 모드 형태로 옮겼습니다. 예를 들어 /diff는 이제 모드이므로 /plugin에서 끄거나 자체 구현으로 교체할 수 있습니다. Anthropic은 앞으로 기본 기능을 더 모드로 옮겨, 사용자가 필요한 기능만 선택하도록 할 계획입니다.
권한과 관리 정책을 확인해야 합니다
모드는 별도 샌드박스에서 실행되지 않습니다. Claude Code와 똑같이 사용자의 컴퓨터에 접근하므로 Anthropic은 신뢰하는 출처의 모드만 설치하라고 안내합니다. 모드가 플러그인 안에 들어가므로 기존 플러그인 관리 정책도 적용됩니다. 관리자는 플러그인 마켓플레이스를 허용하거나 차단할 수 있습니다. Team·Enterprise 요금제에서는 관리 콘솔에서 설정하고, Claude API 및 서드파티 API 요금제에서는 관리형 설정을 사용자 컴퓨터에 배포합니다.
Team·Enterprise 요금제와 관리형 설정이 적용된 컴퓨터에서는 sec-default라는 기본 모드가 먼저 로드됩니다. 이 모드는 사용자가 설치한 모드가 권한 거부 규칙을 덮어쓰는 등 위험한 동작을 하지 못하게 제한합니다. 관리자가 자체 모드를 먼저 불러오도록 설정할 수도 있지만, 제한을 유지하려면 sec-default도 로드 목록에 포함해야 합니다.
Reddit 반응
- @u/pm_your_snesclassic — 올해 초에는 Claude Code로 게임을 모딩하는 게 신났는데, 이제 Claude Code로 Claude Code를 모딩하는 게 신나는 상황이라니 재미있습니다.
- @u/sizebzebi — 어떤 가능성이 있는지 궁금합니다. 비꼬는 게 아니라 정말 궁금해서요.
- @u/Yasstronaut — 프롬프트를 제대로 작성하는 법을 모르는 구성원이 있는 조직에 특히 유용해 보입니다.
- @u/adelie42 — 그러니까 이제 스타일 가이드를 곁들인 ‘쓰레기를 넣으면 쓰레기가 나온다’는 얘기인가요?
- @u/OofWhyAmIOnReddit — 처음엔 기대했지만, 결국 Hooks를 더 발전시킨 형태에 불과합니다. Claude Code가 다른 에이전트의 메시지를 받거나 프롬프트를 제출할 서버를 구성하는 기능을 기대했습니다.
- @u/cafepeaceandlove — Claude Code가 아닌 에이전트에서 메시지를 받는다는 뜻인가요? 원하시는 기능을 쓰기 시작한 지 이틀이면, 사방에서 쏟아지는 통신 때문에 무슨 일이 벌어지는지 파악하느라 머리를 쥐어뜯게 될 겁니다. 필요한 건 목록이 담긴 파일입니다. 에이전트들이 한 시간에 한 번쯤 깨어나 다른 에이전트가 쓴 내용을 확인하면 됩니다.
- @u/atehrani — 모드 하나로 모델에 전달되기 전 프롬프트를 다시 쓰고, 도구 호출을 차단·수정·재시도하고, 권한 요청을 승인하거나 거부하고, Claude가 읽기 전에 도구 출력에서 비밀 정보를 가릴 수 있습니다. 악성 모드가 나오기 딱 좋아 보입니다.
- @u/cafepeaceandlove — 유용합니다. 처음엔 옛날에 그런 사례가 많았던 것처럼 공급업체 종속을 노린 기능이라고 의심했습니다. 하지만 이제 한 시스템의 ‘모드’를 다른 시스템에 맞게 몇 시간 만에 다시 쓸 수 있다는 걸 떠올렸습니다.
- @u/Cross325 — 더 쉽게 설명해 주실 분 있나요? 정말 부탁드립니다.
- @u/Beerbrewing — Claude의 동작을 바꾸는 맞춤형 펌웨어라고 생각하면 됩니다. Claude가 행동하기 전에 개입하는 TypeScript 모듈입니다. 원하지 않는 동작에서 Claude를 돌려 원하는 동작으로 유도할 수 있습니다.
- @u/marcusroar — 멋지긴 하지만 이런 발표를 볼 때마다 ‘이걸 실제로 쓰진 않겠지’라고 생각하는 분도 있나요? 하네스(harness)를 번거롭지 않게 바꿔 쓸 수 있는 점을 중요하게 생각합니다.
- @u/nora_sellisa — 이게 제품으로 취급된다는 점이 놀랍습니다. 모델 실행, 도구 호출과 프롬프트 텍스트 수정, 매개변수 변경은 자체 Python Agent SDK에서 이미 가능했습니다. 플러그인이 아니라 Python 라이브러리였을 뿐입니다.
원문: Anthropic / 번역·요약: Trawling