라이프스타일

Claude Code, mods 출시: TypeScript로 동작과 인터페이스를 바꾸고 plugin에 담아 사용

Anthropic은 2026년 10월 1일 Claude Code mods를 발표했습니다. plugin에 담겨 Claude Code 프로세스 안에서 실행되는 TypeScript 또는 JavaScript 함수로, 프롬프트를 바꾸고 도구 호출을 제어하며 새 인터페이스를 그릴 수 있습니다. Anthropic은 CLI와 desktop app에서 쓸 수 있고 mods에는 샌드박스가 없다고 설명하며, 문서에는 v2.1.287 이상이 필요하다고 적혀 있습니다(2026년 10월 확인).

읽는 데 약 11분

자체 제작 일러스트: 왼쪽의 블록 하나가 이벤트를 나타내며, 가운데 mod를 나타내는 카드(양쪽에 접점이 하나씩)를 지나 오른쪽 터미널 창에 대화 텍스트와 mod가 더한 창 하나가 표시됩니다. 아래의 점선 카드 둘은 차례로 로드되는 다른 mod를 뜻하며, 상표나 인터페이스 스크린샷은 없습니다.
사진: Mokaair (© Mokaair)

Anthropic은 2026년 10월 1일 mods(Claude Code의 동작과 인터페이스를 바꾸는 작은 프로그램)를 발표했습니다. TypeScript 또는 JavaScript로 작성하는 함수로, plugin에 담겨 Claude Code 프로세스 안에서 실행됩니다. Anthropic은 CLI와 desktop app 모두에서 쓸 수 있다고 설명합니다.

이 글의 자료는 2026년 10월 4일에 확인했으며, 근거는 Anthropic의 블로그와 문서 세 페이지입니다. 본 사이트는 mod를 설치하거나 실행해 보지 않았고, 아래의 기능과 제한은 모두 Anthropic의 설명입니다.

mods란: plugin에 담겨 Claude Code 프로세스 안에서 도는 함수

Anthropic에 따르면 Claude Code는 무언가를 할 때마다 이벤트를 내보내며, mod는 그 이벤트에 걸려 이벤트 전, 후, 또는 이벤트 대신 실행되는 함수입니다. 문서에는 작은 mod가 .claude-plugin/plugin.json, hooks/hooks.json, hooks/register.js의 세 파일로 이루어지며, hooks.json의 modules 항목이 코드 파일을 가리켜야 mod가 된다고 적혀 있습니다.

문서에 따르면 Claude Code는 두 가지를 모두 hooks라고 부릅니다. 설정 파일에 쓰는 셸 명령, HTTP 요청, 프롬프트는 아래에서 ‘설정 파일 Hook’이라 하고, Claude Code 내부에서 실행되는 처리 함수는 ‘mod의 이벤트 함수’라고 하겠습니다.

로드될 때 Claude Code는 register(on)을 호출하고, mod는 on으로 이벤트 함수를 등록합니다. 각 함수는 $(mods API), e(이벤트 데이터), next(다른 mods와 Claude Code 원래 동작에 넘기는 함수)를 받습니다. 문서는 처리 방식을 세 가지로 듭니다. 관찰, 바꾸기, 그리고 직접 처리(원래 동작은 실행되지 않음)입니다.

할 수 있는 일: 프롬프트 수정, 도구 호출 제어, 인터페이스 그리기, 명령 추가

Anthropic이 드는 기능은 다음과 같습니다. 프롬프트가 모델에 닿기 전에 바꾸기, 도구 호출을 막거나 바꾸거나 재시도하기, 권한 요청을 승인하거나 거부하기, Claude가 읽기 전에 도구 출력에서 비밀 정보를 가리기, 인터페이스 일부를 수정하거나 교체하고 버튼과 입력란 추가하기. 문서에 따르면 창과 프롬프트 위의 띠 영역을 그릴 수 있고, Claude 턴을 거치지 않는 /command를 추가할 수 있습니다.

여러 mods가 같은 이벤트에 걸려 있으면 로드 순서대로 실행되며, 가장 먼저 로드된 mod가 이벤트를 가장 먼저 보고 결과는 가장 나중에 봅니다. 내장 /diff는 이제 mod이며, /plugin에서 끄거나 직접 만든 버전으로 바꿀 수 있습니다. 문서에 따르면 끄더라도 /diff는 남고 내장 버전이 응답합니다. Anthropic은 설정 파일 Hook은 이벤트를 바꾸거나 새 인터페이스를 그리거나 기능을 대체할 수 없지만 mods는 할 수 있다고 설명합니다. 한편 문서에는 설정 파일 Hook이 그대로 실행되며 지원이 중단된 것은 하나도 없다고 적혀 있습니다. 아래 표의 네 가지 중 인터페이스를 그릴 수 있는 것은 mod뿐입니다.

mod, 설정 파일 Hook, skill, MCP server의 비교로, Claude Code 문서 mods 개요 페이지의 비교표를 줄인 것입니다. 확인일은 2026년 10월 4일입니다.
종류무엇인가무엇을 바꾸나무엇으로 쓰나
modplugin 안의 함수로, Claude Code가 자체 프로세스 안에서 호출도구 호출, 프롬프트, 명령, 턴, 인터페이스에 그려지는 내용JavaScript 또는 TypeScript
설정 파일 HookClaude Code가 수명 주기 이벤트에서 실행하는 셸 명령, HTTP 요청, 프롬프트도구 호출이나 프롬프트의 진행 여부, 인수와 결과, Claude에 더하는 맥락스크립트 하나와 settings.json 설정 한 줄
skillClaude가 읽는 지침 파일인 SKILL.mdClaude가 아는 것과 하는 일Markdown
MCP serverClaude에 도구를 주는 외부 프로세스나 서비스Claude가 가진 도구어떤 언어로 짠 서버든 가능

쓰임새: 팀의 관리와 예시 mod

블로그는 팀이 mods로 직접 만들 수 있는 예를 세 가지 듭니다. 대화 옆 창에 CI/CD 상태를 표시하기, 명령이 production 설정을 건드리기 전에 확인을 요구하기, 가장 먼저 로드된 mod가 다른 모든 mod의 모든 호출을 기록하기입니다.

문서의 예시 mod 세 개는 claude-code-playground repo에 있으며, 있는 그대로 공유될 뿐 지원은 제공되지 않습니다. token-weather는 프롬프트 위에 context window 예보를 그리고, blast-radius는 rm -rf나 force push 같은 위험한 명령을 붙잡아 무엇이 바뀌는지 보여 주며, replay-theater는 /replay 명령을 추가해 Claude가 직전 턴에서 한 파일 수정을 차례로 재생합니다.

내장 mods는 /plugin의 Installed 탭 Built-in 아래에 나열됩니다. 예를 들어 /diff를 맡는 cc-plugin-diff와 마지막 절에서 다루는 cc-plugin-sec-default가 있습니다. cc-plugin-you-should-know는 기본값이 꺼짐이며, 문서에 따르면 ‘if available for your org’일 때만 목록에 나옵니다.

네 칸 도해: 이벤트(도구 호출, 프롬프트, 화면), 함수(관찰, 바꾸기 또는 직접 처리), 인터페이스(창, 버튼, 명령), 관리(sec-default가 먼저 로드됨)
Claude Code의 mods는 도구 호출, 프롬프트, 화면 같은 이벤트를 받아 함수로 관찰하거나 바꾸거나 직접 처리하며, 창, 버튼, 명령을 추가할 수 있습니다. 관리형 설정이 있는 컴퓨터나 Team, Enterprise 플랜으로 로그인할 때는 내장 sec-default가 먼저 로드됩니다. Anthropic 블로그와 Claude Code 문서를 바탕으로 정리했으며 확인일은 2026년 10월 4일입니다. · 사진: Mokaair (© Mokaair)

시작하는 법: 버전, 설치, Claude에게 맡기거나 직접 작성

문서에 따르면 mods에는 Claude Code v2.1.287 이상이 필요하고 기본으로 켜져 있으며, claude --version으로 확인합니다. 블로그는 Claude directory에서, 또는 CLI에서 /plugin을 실행해 mods가 든 plugin을 설치할 수 있다고 하며, 문서에 적힌 형식은 /plugin install 이름@marketplace입니다.

직접 작성할 때는 Node.js도 build step도 필요 없습니다. claude --plugin-dir로 디렉터리를 지정하면 한 세션에서만 로드되고, 파일이 바뀌면 핫 리로드됩니다. Claude에게 맡기는 경우, 문서에 따르면 Claude는 내장 plugin-authoring skill에 따라 ~/.claude/dev-mods/의 세션 폴더에 mod를 쓰고, 사용자가 승인해야 로드되며, cleanupPeriodDays가 지나면 삭제됩니다.

다른 사람의 mod를 설치하기 전에 plugin의 파일을 받아 claude plugin validate를 실행하면, mod를 실행하지 않고도 그 mod가 처리하는 이벤트와 호출하는 메서드를 나열할 수 있습니다.

문서에 따르면 mod의 인터페이스는 터미널과 Desktop app의 Code 탭에 그려집니다(Code 탭은 터미널 전용 요소를 그리지 못합니다). Desktop의 WSL 세션에서는 plugins를 쓸 수 없어 이벤트 함수가 실행되지 않습니다. VS Code 확장 프로그램의 채팅 패널, claude -p, Agent SDK, 클라우드 세션(클라우드에 전달되는 plugin에 한함)에서는 실행만 되고 그리지는 않습니다. Remote Control을 쓸 때는 이벤트 함수가 내 컴퓨터의 세션에서 실행되고 내 컴퓨터의 터미널에 그려집니다.

보안과 기업 관리: 샌드박스 없음, 관리자가 할 수 있는 일

문서에 따르면 mods에는 샌드박스가 없고 사용자의 권한으로 실행됩니다. 환경 변수와 설정 파일(그 안의 API 키 포함)을 읽고, 사용자에게 묻기 전에 도구 호출을 승인하고, 사용자의 플랜이나 API 키로 모델을 호출할 수 있지만 권한 프롬프트 자체는 바꿀 수 없습니다. 샌드박싱을 켜도 격리되는 것은 Claude가 실행하는 Bash 명령뿐이며, mod가 시작한 프로그램은 샌드박스 밖에서 실행됩니다.

내장 sec-default는 컴퓨터에 관리형 설정이 있거나 Team, Enterprise 플랜으로 로그인할 때 로드됩니다. API 키나 Amazon Bedrock, Google Cloud, Microsoft Foundry로 인증하는 사람은 관리형 설정이 있는 컴퓨터에서만 로드됩니다. 막는 것은 사용자의 mod가 관리자가 관리하는 것(예를 들어 관리자가 관리하는 설정 파일 Hook이 받는 내용과 내리는 판단, 시스템 프롬프트)을 바꾸는 일과 deny 규칙이 거부한 도구 호출을 승인하는 일뿐이고, 나머지는 모두 허용합니다. deny 규칙은 mod 자신의 $.fs와 $.process 호출에는 적용되지 않습니다.

관리자용 스위치는 다음과 같습니다. allowManagedModsOnly는 사용자가 가져온 mods를 막습니다. disableSideloadFlags는 --plugin-dir, --plugin-url, 그리고 Claude가 세션 안에서 쓴 mods를 거부합니다. prependPlugins와 appendPlugins는 조직 mod의 순서를 정하며, prependPlugins를 설정할 때는 sec-default@builtin을 나열해야 내장 guard가 유지됩니다. 관리형 설정의 disableAllHooks는 조직의 mods와 관리되는 설정 파일 Hook까지 모두 멈춥니다.

개인은 /plugin의 Installed 탭에서 개별 mod를 끌 수 있고, --safe-mode로 한 세션 동안 설치된 mods를 멈출 수 있으며(다른 사용자 지정도 멈춥니다), ~/.claude/settings.json에 disableAllHooks를 설정할 수도 있습니다(설정 파일 Hook과 사용자 지정 status line도 멈추고, 조직이 관리하는 것은 그대로 동작합니다). 뒤의 두 가지는 내장 mods를 멈추지 않습니다.

자주 묻는 질문

mods를 쓰려면 어떤 버전이 필요한가요?

문서에 따르면 mods에는 Claude Code v2.1.287 이상이 필요하고 기본으로 켜져 있으며, claude --version으로 확인할 수 있습니다.

mod를 쓰려면 Node.js를 설치하거나 build step을 거쳐야 하나요?

문서에 따르면 필요 없습니다. 직접 mod를 작성할 때 Node.js도 build step도 필요하지 않습니다.

mods가 설정 파일 Hook을 대체하나요?

아닙니다. Anthropic이 말하는 것은 설정 파일 Hook으로 할 수 없는 일을 mods는 할 수 있다는 점입니다. 문서에 따르면 설정 파일 Hook은 그대로 실행되며 지원이 중단된 것은 하나도 없습니다.

mods는 어떻게 끄나요?

개별 mod는 /plugin의 Installed 탭에서 끕니다. 한 세션만이라면 --safe-mode로 시작하며, 이때 다른 사용자 지정도 함께 멈춥니다. 또는 ~/.claude/settings.json에서 disableAllHooks를 true로 설정합니다. 이 경우 설정 파일 Hook과 사용자 지정 status line도 함께 멈추고, 조직이 관리하는 것은 그대로 동작합니다. --safe-mode와 disableAllHooks 모두 내장 mods는 멈추지 않습니다.

개인 플랜에서도 mods를 쓸 수 있나요?

블로그에 적힌 것은 mods를 Claude Code CLI와 desktop app에서 쓸 수 있다는 내용뿐입니다. 여기서 인용한 블로그와 문서 세 페이지에는 확인일인 2026년 10월 4일 기준으로 플랜별 사용 가능 여부가 하나하나 적혀 있지 않습니다.

VS Code 확장 프로그램과 클라우드 세션에서도 mods를 쓸 수 있나요?

문서에 따르면 mod의 이벤트 함수는 VS Code 확장 프로그램의 채팅 패널에서 실행되고, 클라우드 세션에서는 클라우드에 전달되는 plugin에 대해 실행되지만, 둘 다 창이나 띠 영역은 그리지 않습니다.

최신 여행 소식·가이드

출처

라이프스타일