VS Code, Cursor, JetBrains의 IDE 터미널은 기본적으로 Claude Code의 데스크톱 알림을 받지 못해요. Claude Code가 iTerm2, Ghostty, Kitty에만 알림을 보내기 때문이에요. 알림을 받으려면 "preferredNotifChannel": "terminal_bell"로 설정하고 IDE가 벨을 처리하게 하거나, ~/.claude/settings.json에 데스크톱 알림을 띄우거나 push를 보내는 Notification hook을 추가하세요. hook은 통합 터미널과 VS Code 확장의 채팅 패널 모두에서 실행돼요. 둘 다 같은 설정 파일을 읽기 때문이에요.
01IDE가 조용한 이유
Claude Code의 기본 알림은 실행 중인 터미널에 따라 달라요. 기본 설정에서는 iTerm2, Ghostty, Kitty에서만 데스크톱 알림을 띄우며, Anthropic의 터미널 문서에도 VS Code 통합 터미널은 알림을 받지 못한다고 나와 있어요. JetBrains 터미널도 마찬가지예요. preferredNotifChannel의 모든 값은 터미널 벨 가이드에서 설명해요.
VS Code와 Cursor에서 Claude Code를 실행하는 방법은 두 가지이고, 그 차이가 중요해요:
claude~/.claude/settings.json~/.claude/settings.json (같은 파일)JetBrains IDE(IntelliJ IDEA, PyCharm, WebStorm, GoLand, Android Studio 등)는 오른쪽 열과 같은 방식으로 동작해요. Claude Code 플러그인이 IDE의 통합 터미널에서 claude를 실행하고 여기에 연결해요.
02방법 1: 터미널 벨
통합 터미널에서 claude를 실행한다면 ~/.claude/settings.json에 다음을 추가하세요:
{
"preferredNotifChannel": "terminal_bell"
}
그러면 Claude Code가 입력이 필요할 때 벨 문자를 보내요. 그 다음 동작은 IDE에 달려 있어요. VS Code와 Cursor는 접근성 신호 설정으로 터미널 벨을 처리하니, 설정에서 "terminal bell"을 검색해 소리를 고르세요. JetBrains IDE에서는 사용 중인 버전의 터미널 설정을 확인하세요. 헤드폰을 벗고 있거나 IDE가 백그라운드에 있으면 벨을 놓치기 쉬워서, 대부분은 방법 2로 넘어가요.
03방법 2: Notification hook
hook은 원하는 명령을 실행하며, 터미널과 VS Code 채팅 패널을 포함해 모든 IDE에서 동작해요. 다음은 macOS에서 데스크톱 알림을 띄우는 예시예요:
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
}
]
}
]
}
}
Linux에서는 notify-send 'Claude Code' 'Claude Code needs your attention'을, Windows에서는 PowerShell 명령을 쓰세요. 검증된 버전은 Linux 가이드와 Windows 가이드에 있어요. macOS에서 osascript가 아무것도 표시하지 않으면 시스템 설정 > 알림에서 Script Editor의 알림을 허용하세요. osascript 알림은 이 앱에서 보내져요.
VS Code 확장에서는 파일을 열지 않고도 hook을 확인할 수 있어요. Customize 섹션을 열고 Hooks를 선택하면 세션에 로드된 hook을 이벤트별로 볼 수 있어요(Claude Code v2.1.269 이상).
Claude가 대기할 때가 아니라 작업을 마친 순간 알림을 받고 싶다면 Stop hook도 추가하세요. Claude 작업 완료 알림 가이드에서 두 가지를 함께 설정하는 방법을 볼 수 있어요.
VS Code 확장에서는 타이밍이 달라요
터미널에서는 permission_prompt 알림이 프롬프트에 약 6초간 키 입력이 없을 때까지 기다리고, 키를 누를 때마다 다시 미뤄져요. Anthropic 문서에 따르면 VS Code 확장(및 Claude Desktop)에서는 Claude가 묻고 약 6초 뒤에 입력 여부와 상관없이 실행되고, 그 전에 응답하면 아예 실행되지 않아요. 패널에서 작업할 때 거슬린다면 환경 변수 CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS=1을 설정해 꺼 두세요. 모든 알림 유형과 실행 시점은 Notification hook 가이드에 정리되어 있어요.
04원격 창: SSH, WSL, dev container, JetBrains Remote Development
IDE 알림이 가장 자주 문제를 일으키는 부분이에요. VS Code나 Cursor 창이 SSH 호스트, WSL, dev container에 연결되어 있으면 Claude Code는 노트북이 아니라 그 시스템에서 실행되고 그곳의 ~/.claude/settings.json을 읽어요. hook도 거기서 실행돼요. 그래서 osascript나 notify-send 같은 데스크톱 명령은 표시할 데스크톱이 없어 조용히 실패해요.
JetBrains Remote Development도 비슷해요. Claude Code 플러그인을 원격 호스트에 설치해야 하고, Claude Code도 거기서 실행돼요.
대신 이렇게 하세요:
- Windows의 WSL: WSL 안의
PATH에 있다면 hook에서 Windows interop으로powershell.exe를 호출할 수 있어요. - SSH 호스트와 컨테이너: ntfy나 Telegram, Slack, Discord webhook처럼 네트워크를 통해 나에게 닿는 곳으로 알림을 보내세요. 선택지는 SSH 가이드에서 다뤄요.
05/ide로 외부 터미널 사용하기
기본 제공 데스크톱 알림을 원한다면 Claude Code를 iTerm2, Ghostty, Kitty에서 실행하고 /ide 명령으로 IDE에 연결하세요. diff 보기와 선택 영역 공유는 여전히 IDE에서 되고, 알림은 외부 터미널에서 와요. iTerm2에서는 터미널 벨 가이드에 나온 대로 먼저 알림 설정을 켜야 해요.
06그 밖에 알아 두면 좋은 점
- Shift+Enter: VS Code와 Cursor에서는
/terminal-setup을 한 번 실행하면 Shift+Enter로 줄바꿈할 수 있어요. JetBrains 터미널에서는 지원되지 않으니 Ctrl+J나\후 Enter를 쓰세요. - Remote Control: Anthropic의 Remote Control은 VS Code 확장에서
/remote-control로 시작할 수 있고, Claude 모바일 앱에서 세션을 따라갈 수 있어요. 별도의 요금제 및 로그인 요건이 있으니 비교 글을 참고하세요. - 여러 창: 여러 IDE 창에서 Claude Code를 실행한다면 알림에 프로젝트 폴더를 넣어 어느 창인지 알 수 있게 하세요. hook 입력에
cwd가 포함돼요. 여러 세션 실행하기를 참고하세요.
07Claude Code Notifier의 역할
IDE 앞에 앉아 있다면 플랫폼 알림 도구를 쓰는 Notification hook이 무료로 쓸 만한 해결책이에요. 다만 화면을 떠나 있을 때는 도움이 안 되고, 응답도 할 수 없어요.
Claude Code Notifier의 ccn도 hook이라서 Mac, Windows, Linux의 IDE 터미널에서 다른 터미널과 똑같이 동작해요. 단독으로 설치하면 Claude가 작업을 마치거나, 권한이 필요하거나, 질문할 때 데스크톱 알림을 띄워요. 휴대폰을 페어링하면 권한 요청을 한 번 허용, 세션 동안 허용, 거부할 수 있고, Claude의 질문에 답을 고르거나 다음 지시를 휴대폰에서 보낼 수 있어요. 최근 30초 안에 입력했다면 터미널에서 평소처럼 묻고 휴대폰에서는 기다리지 않아요. 휴대폰 push는 로컬 데스크톱이 아니라 relay를 거치므로, IDE 창이 연결된 원격 머신에 ccn을 설치해도 휴대폰으로 알림이 와요. Claude Code Notifier는 독립 프로젝트이며 Anthropic이 만든 것이 아니에요. ccn 페이지와 휴대폰 페어링을 참고하세요.
08FAQ
VS Code에서 Claude Code 알림이 오지 않는 이유는 뭔가요?
VS Code 통합 터미널은 Claude Code의 기본 제공 데스크톱 알림을 받지 못해요. ~/.claude/settings.json에 "preferredNotifChannel": "terminal_bell"을 설정하거나 Notification hook을 추가한 뒤 새 세션을 시작하세요.
Claude Code VS Code 확장에서도 hook이 동작하나요?
네. Claude Code는 IDE 확장에서도 터미널과 같은 hook 이벤트를 실행하고, 확장과 CLI는 ~/.claude/settings.json을 공유해요. 확장의 Customize 섹션에서 hook을 확인하고 편집할 수 있어요.
Cursor에서도 되나요?
네. Cursor에도 같은 Claude Code 확장을 설치할 수 있고, claude는 VS Code처럼 통합 터미널에서 실행돼요. 위 내용이 모두 그대로 적용돼요.
로컬에서는 hook이 잘 동작하는데 Remote SSH 창에서는 안 돼요. 왜 그런가요?
원격 창에서는 Claude Code와 hook이 데스크톱 환경이 없는 원격 머신에서 실행돼요. 그 머신의 ~/.claude/settings.json을 수정하고, 데스크톱 명령 대신 ntfy 같은 네트워크 push를 사용하세요.