Có năm cách nhận thông báo từ Claude Code: thông báo có sẵn của terminal, hook tự viết để hiện cảnh báo trên desktop, hook gửi push qua dịch vụ như ntfy, Telegram, Slack hay Discord, Remote Control của chính Anthropic kết hợp ứng dụng di động Claude, và công cụ notifier chuyên dụng. Ba cách đầu miễn phí và chỉ báo cho bạn biết có chuyện gì đó xảy ra. Remote Control và các công cụ chuyên dụng còn cho phép bạn phản hồi từ điện thoại. Cách nào tốt nhất tùy vào việc bạn chỉ cần biết, hay còn cần xử lý.
01Tổng quan các lựa chọn
preferredNotifChannel)Terminal trên máy tínhKhôngKhông cần, hoặc một settingosascript, notify-send, PowerShell)Máy tính của bạnKhôngVài dòng trong settings.json02Có sẵn: terminal báo cho bạn
Claude Code vốn đã hiện thông báo khi chạy xong hoặc đang chờ một permission prompt mà có vẻ bạn không ở đó. Mặc định, nó gửi thông báo desktop trong iTerm2, Ghostty và Kitty, chỉ rung bell trong Apple Terminal ở một trường hợp cụ thể, và không làm gì ở các terminal khác. Setting preferredNotifChannel cho phép thay đổi hành vi này, ví dụ đặt thành "terminal_bell" để mọi terminal đều nhận ký tự bell.
Ưu điểm: không cần cài gì, chạy được qua SSH trong các terminal có chuyển tiếp thông báo. Hạn chế: chỉ báo trên máy tính trước mặt bạn, nhiều terminal (kể cả terminal trong IDE) mặc định không nhận được gì, và bạn không thể trả lời. Chi tiết xem ở hướng dẫn về terminal bell.
03Hook tự viết: thông báo trên desktop
Hook cho phép Claude Code chạy một lệnh tại các thời điểm cố định. Hook Notification chạy khi Claude cần bạn chú ý (một prompt xin quyền đã chờ khoảng sáu giây, hoặc Claude rảnh khoảng 60 giây sau khi xong việc). Hook Stop chạy ngay khi một lượt kết thúc. Trỏ một trong hai tới lệnh thông báo của hệ điều hành là bạn có thông báo trên Mac, Windows và Linux trong mọi terminal. Hướng dẫn nhận thông báo khi Claude xong việc sẽ chỉ từng bước.
Ưu điểm: miễn phí, riêng tư, bạn kiểm soát hoàn toàn, không cần mạng. Hạn chế: vẫn chỉ trên máy đó, và trên server headless hoặc qua SSH thì lệnh desktop không có desktop nào để hiển thị (xem thông báo qua SSH).
04Hook tự viết: push về điện thoại
Cùng hook đó có thể gọi một dịch vụ push. Các lựa chọn phổ biến:
- ntfy: publish tới một topic chỉ bằng một dòng
curl, nhận trong app ntfy trên iPhone hoặc Android. Miễn phí trên ntfy.sh, và bạn có thể tự host server. Xem hướng dẫn ntfy. - Pushover: một API có hạn mức tin nhắn miễn phí hằng tháng và app riêng. Mỗi tin nhắn tối đa 1.024 ký tự.
- Telegram, Slack hoặc Discord: một bot hoặc incoming webhook gửi tin nhắn vào kênh chat bạn vẫn hay xem. Xem hướng dẫn Telegram, Slack và Discord.
Ưu điểm: báo tới điện thoại dù bạn ở đâu, rẻ hoặc miễn phí, và bạn biết chính xác những gì được gửi đi. Hạn chế: chỉ một chiều. Điện thoại báo cho bạn biết Claude đang chờ, nhưng phiên làm việc vẫn phải đợi bạn quay lại bàn phím. Bạn cũng phải tự quản lý secret (tên topic, token, webhook URL) và tự quyết định khi nào không gửi, vì hook vẫn chạy dù bạn có ngồi ở bàn hay không.
05Remote Control của Anthropic và app Claude
Remote Control kết nối app Claude trên iPhone và Android, hoặc claude.ai/code trên trình duyệt, với một phiên Claude Code đang chạy trên máy tính của bạn. Bạn thấy toàn bộ cuộc hội thoại và có thể gõ tiếp, còn các prompt xin quyền và câu hỏi AskUserQuestion được chuyển sang điện thoại. Khi bật Push when actions required và Push when Claude decides trong /config, app sẽ gửi push notification. App bỏ qua thông báo khi bạn đang gõ hoặc đang focus vào terminal được kết nối.
Ưu điểm: do Anthropic làm, có toàn bộ phiên trên điện thoại, không qua bên thứ ba. Hạn chế (theo tài liệu của Anthropic): cần gói Pro, Max, Ultra, Team hoặc Enterprise đăng nhập qua claude.ai, không hỗ trợ API key, và không dùng được với Amazon Bedrock, Agent Platform của Google Cloud, Microsoft Foundry hay ANTHROPIC_BASE_URL tùy chỉnh. Với Team và Enterprise, Owner phải bật tính năng này. Phiên phải được khởi động với Remote Control (hoặc được đặt để tự kết nối khi khởi động), và Claude tự quyết định khi nào gửi push "decides"; ngoài hai nút bật/tắt thì không có cấu hình theo từng sự kiện.
06Công cụ thông báo chuyên dụng
Một số công cụ được xây dựng trên các hook kể trên và bổ sung khả năng trả lời.
- claude-remote-approver là một npm package mã nguồn mở (MIT) dùng hook
PermissionRequestvà ntfy. Mỗi yêu cầu cấp quyền trở thành một thông báo có nút Approve và Deny, các lựa chọn củaAskUserQuestioncũng thành nút bấm. Nếu không có phản hồi trong thời gian chờ (mặc định 120 giây), Claude Code quay về prompt trong terminal. - Pushary là dịch vụ hosted, cài đặt bằng
npx pushary@latest setup. Nó cài các hook cho Claude Code, gửi push khi Claude xong việc, và cho phép bạn duyệt hoặc trả lời từ điện thoại. - Claude Code Notifier (của chúng tôi) là
ccn, một công cụ dòng lệnh miễn phí cho Mac, Windows và Linux, kèm app điện thoại cho iPhone và Android. Đây là công cụ độc lập, không phải do Anthropic làm.
Một số dự án mã nguồn mở khác gửi thông báo tới ntfy, Discord hoặc desktop bằng script viết sẵn. Đáng tham khảo nếu bạn muốn tự làm mà không phải viết script.
07Claude Code Notifier nằm ở đâu trong bức tranh này
Nếu bạn chỉ cần thông báo một chiều, một hook mười dòng dùng ntfy hoặc công cụ thông báo desktop là hoàn toàn đủ, lại không tốn đồng nào.
Claude Code Notifier dành cho những gì xảy ra sau thông báo. Khi cài riêng, ccn hiện thông báo desktop trên Mac, Windows hoặc Linux khi Claude xong việc, cần cấp quyền hoặc đặt câu hỏi. Khi đã ghép nối điện thoại, bạn có thể:
- cho phép một lần, cho phép trong cả phiên, hoặc từ chối yêu cầu cấp quyền ngay trên điện thoại
- chọn câu trả lời khi Claude yêu cầu bạn lựa chọn
- gửi chỉ dẫn tiếp theo ngay sau khi Claude xong việc
Nó còn nhận biết bạn có đang ở máy hay không. Nếu bạn vừa gõ phím trong 30 giây gần nhất, không có gì phải chờ: terminal hỏi như bình thường và điện thoại cùng lắm chỉ nhận một ghi chú. Nếu bạn đi vắng, terminal chờ câu trả lời từ điện thoại trong khoảng thời gian tối đa do bạn đặt, và thôi chờ ngay khi bạn chạm vào bàn phím. Vì là hook nên nó chạy trong mọi terminal, kể cả terminal trong IDE, và không cần bật Remote Control trong phiên. App điện thoại cần gói đăng ký hoặc mua trọn đời; xem bảng giá. Cài đặt từ trang ccn.
08Nên chọn cái nào
- Bạn ngồi ở máy và chỉ cần được nhắc: thông báo có sẵn hoặc một hook desktop.
- Bạn muốn điện thoại rung và sẽ quay lại máy để trả lời: ntfy hoặc webhook chat.
- Bạn muốn xem toàn bộ cuộc hội thoại trên điện thoại và đăng nhập bằng gói claude.ai: Remote Control.
- Bạn muốn duyệt, trả lời và tiếp tục ngay từ điện thoại, với thông báo tự im lặng khi bạn đang ở bàn phím: một công cụ chuyên dụng như Claude Code Notifier.
09Câu hỏi thường gặp
Claude Code có thông báo tích hợp sẵn không?
Có. Nó gửi thông báo desktop trong iTerm2, Ghostty và Kitty, và bạn có thể đặt preferredNotifChannel thành "terminal_bell" để có tiếng bell trong mọi terminal. Thông báo chỉ tới được máy đang chạy terminal. Để push về điện thoại, Anthropic cung cấp Remote Control cùng app Claude.
Cách miễn phí để nhận thông báo Claude Code trên điện thoại là gì?
Một hook Notification hoặc Stop chạy curl tới một topic ntfy miễn phí, cộng với app ntfy trên điện thoại. Hướng dẫn ntfy có sẵn cấu hình để copy-paste. Cách này báo cho bạn biết Claude đang chờ nhưng không trả lời thay bạn được.
Tôi có thể duyệt yêu cầu cấp quyền của Claude Code từ điện thoại không?
Có, bằng Remote Control hoặc một công cụ xây dựng trên hook PermissionRequest, như claude-remote-approver hay Claude Code Notifier. Xem duyệt quyền từ điện thoại.
Tôi có thể dùng nhiều cách cùng lúc không?
Có, hook từ nhiều nguồn đều chạy hết. Tránh dùng hai công cụ cùng trả lời yêu cầu cấp quyền, và sẽ có thông báo trùng lặp nếu hai công cụ cùng báo cho một sự kiện.