Using Transmission with Pushover

Since this is now a different topic, I am putting this reply to this post here.

Well… there isn’t one. At least not directly. But don’t worry, I can walk you through it.

It’s much easier than it seems. There are several steps, but you only have to do them once, and setting up the first one will let you use Pushover for anything so it’s well worth your time.

What I did was write a shell script “wrapper” that will basically send whatever text I give it as an “argument” via Pushover. I called it “” because [P]ush[O]ver and I’m devilishly clever when it comes to naming things :wink:

The idea is pretty simple:

  1. Download the script and save it somewhere (I recommend /usr/local/bin/

  2. Edit /usr/local/bin/ to include your specific information (token and user key) in the variable names (I tried to make it as clear as possible what goes where)

  3. Make sure /usr/local/bin/ is executable: chmod 755 /usr/local/bin/

  4. Now, whenever you want to send yourself a push notification, you can just use "Hello World" or "This is a thing you might want to know"

Once you have set up, you can use it for pretty much anything.


Transmission has a very cool feature built-in where you can call a shell script (not an AppleScript!) after a torrent finishes downloading.

I have a note that says these variables are available:


Unfortunately I cannot seem to remember where I got these, and googling didn’t help, which means I can’t tell you if they are up-to-date and/or if there are any others. But these are all we need right now anyway. and Transmission together

We need to write a very short little shell script which will use to tell us that Transmission has finished.

Here’s what I use:

#!/bin/zsh -f
# Purpose: Send me a Pushover notification when 
# finishes downloading


/usr/local/bin/ "$NAME: $TR_TORRENT_NAME finished \

exit 0

That’s really all we need. Paste that into a plain-text document and save it as something like /usr/local/bin/ and make it executable:

chmod 755 /usr/local/bin/

The last step is telling to use the script. The setting for this is just a tiny-bit buried:

  1. Open Transmission’s preferences
  2. Click the “Transfers” tab
  3. Click “Management”
  4. Check the box next to “Call Script” (at the very bottom of the window)
  5. Select the file /usr/local/bin/

It should look like this when you’re done:

As I said, it’s much easier than it seems all written out like this. I tend to be wordy when explaining things because I’d rather err on the side of being overly clear than unclear (and it’s still possible that some or all of this isn’t clear).

If you have questions, let me know.

1 Like

TJ - I cant believe you did all this work! Thank you.

I tried to follow along, despite me being completely out of my depth here. Incomprehensibly, I got it all to work perfectly on the first try! My biggest challenge was that my Mac doesn’t have a /usr/local/bin/ directory. I finally realized I could just stick it in /usr/local/ and adjust all the scripts.

Now I have to come up with other good uses for pushover!

You’re welcome! I always forget that /usr/local/bin/ isn’t a part of the standard way that macOS ships, since Brew is one of the first things I install, and it sets up all the stuff in /usr/local/ and its various sub-folders. But what you did should be fine.

As far as “all this work”… well, the “hard” part was writing the script, which I did awhile ago. But I figure that for every other person who uses the script I wrote, the benefit of that works gets multiplied (or perhaps even raised to the power of ²).

Then the rest of it was just writing up what I know in a way that someone else could follow, and I enjoy that. I’ve gotten lots of help over the years, so it’s nice to be able to provide help to others as well.

I hope you enjoy Pushover, especially now that you can use it more easily!

can you share a modified file that would have pushover send a notification that the torrent file has started and then also include when it finishes?

Transmission does not have support for running a script when a torrent file starts only when downloading completes.

However, if you have a certain folder where you put your .torrent files in order for Transmission to find them, you could watch that folder with Hazel or launchd and, when a new file is added to it, send a push notification that says “New .torrent file found: ‘Filename.torrent’” and then have that .torrent file opened in Transmission.

That would come close to what you are wanting to accomplish, I believe.

1 Like