Adding Pushover notifications to Claude Code Developer Jamie Tanna wired Claude Code's Notification hook to the Pushover API using a small Go CLI, so he receives phone alerts when an agent is waiting for input. The setup adds a command hook in ~/.claude/settings.json that runs a bash wrapper calling the claude-hook binary, which echoes Claude's message in its first iteration. Tanna noted the approach works on his work Mac but not his Linux laptop, which he still needs to investigate. There are times that you're away from your machine - or you've got so many terminal sessions you've not seen a notification - to say that your agent is waiting for input. Although there are ways to get first-class support for this - for instance Claude Code's Remote Control https://code.claude.com/docs/en/remote-control which only works if using a Claude Code subscription, i.e. Bedrock users don't get access to it - I wanted to write a tiny bit of Go code today, and thought I'd hand-roll some notifications. Given the Notification hook https://code.claude.com/docs/en/hooks notification , this is actually fairly straightforward. To get a notification, you need to wire in the hook i.e. my ~/.claude/settings.json looks like: { "hooks": { "Notification": { "matcher": "", "hooks": { "type": "command", "command": "~/bin/ claude-hook" } } } } Then, my claude-hook is a lightweight wrapper: bash /usr/bin/env bash source ~/.secrets/claude-hook claude-hook notification This is then a very small CLI https://gitlab.com/jamietanna/dotfiles-arch/-/blob/main/go/home/go/src/jvt.me/dotfiles/claude-hook/main.go which allows me to call the Pushover API given a set of inputs https://gitlab.com/jamietanna/dotfiles-arch/-/blob/main/go/home/go/src/jvt.me/dotfiles/claude-hook/notification.go . In its first iteration, it echoes the message from Claude - but I'll follow-up to add some more insight into what session it's coming from. For now, I'm using a single CLI for Claude Code. If I get back to using multiple harnesses again especially now crush has at least started to add hooks https://github.com/charmbracelet/crush/tree/main/docs/hooks , I'll probably amend this to be i.e. -claude-hook notification +agent-hook claude notification So then I can share the same underlying codebase for the multi-agent setup - but there's no point in prematurely optimising when that's not the case Oddly, this works on my work Mac, but not on my Linux laptop - I need to investigate further