Install ExpressVPN on Arch-based systems

Published 31st December 2019 at 02:18am UTC (Last Updated 22nd March 2020 at 09:25pm UTC)

Hi again. This will be a short-to-medium length post as I really just wanna save people the annoyance that I had to go through when I installed this earlier.

For those who don't know ExpressVPN is a privacy tool used to hide a user's IP address and encrypt network traffic. It's not the best VPN around but it does the job when you need it to. Installing ExpressVPN on Debian-based systems is really straightforward as they have an official Ubuntu package and tons of documentation.

Installing on Arch-based systems on the other hand is a little tricky.

Luckily, ExpressVPN have released an official Arch package....


Step #1 - Do NOT download the official Arch package!

When you log into the ExpressVPN website, you might notice something like this:

Don't even bother downloading it. It's basically a debtap version of the Ubuntu package. This would be fine were it not for the fact that the debian package assumes an expressvpn service would be run as an init.d service. As this is a completely different operating system, the expressvpn service will need to be run in systemd (systemctl). If you don't want to see this error...

It seems the expressvpn daemon is not running. Please run "sudo service expressvpn restart" to start it.

...keep reading this post!

Step #2 - Install prerequisites

Make sure these are installed:

sudo pacman -S --needed base-devel git

You'll also need gpg installed but you really ought to have that installed on your machine already. Maybe run an update just in case:

sudo pacman -Syyu


Step #3 - Download the PGP key

Download the ExpressVPN PGP key with this command:

gpg --recv-keys 0xAFF2A1415F6A3A38

The Ubuntu instructions actually list the key server. I couldn't get the full command from their docs to work personally and so had to drop the --keyserver flag. If you are able to download this with the keyserver then, like, congratulations, I guess?


Step #4 - Clone the AUR package

There's actually an AUR package for ExpressVPN co-maintained by someone called "WorMzy" (which just makes me think of this). You can download it with git:

git clone


Step #5 - Install the package

Install the AUR package with the following command:

makepkg -si

That might take a while but hopefully no longer than a few minutes. Once it's done, check that it works:


Remember to start the expressvpn systemd service that you've also installed:

sudo systemctl start expressvpn


Step #6 - Configure ExpressVPN

Before you actually connect to ExpressVPN, you'll want to activate your account, essentially logging into a session on your machine.

  1. Log into ExpressVPN at
  2. Copy the activation key on the subscriptions page
  3. In the terminal, run: 
expressvpn activate
  1.  Input your activation key

One thing I've noticed is that recent versions of ExpressVPN now include a killswitch by default. This means that if you ever disconnect from the VPN, you will lose internet access. This can be incredibly annoying if you, like me, switch locations often as you won't necessarily be able to reconnect to the VPN without an internet connection.To switch off this setting, run the following command:

expressvpn preferences set network_lock off

You can list the different locations in ExpressVPN with:

expressvpn list all

To connect to your preferred location, run the connect subcommand:

expressvpn connect <location_alias>

And that's pretty much it.


(Oh and if I don't post again before then - Happy New Year!)

Post a comment

Posted by Anonymous on 26th May 2020 at 15:23:29 UTC

Thanks so much for this - really helped out.

Posted by Jess on 29th May 2020 at 00:19:47 UTC

You're welcome. Glad it helped!

Posted by Anonymous on 18th December 2020 at 13:21:29 UTC

Thank you¡¡¡ you saved me

Posted by Jess on 28th December 2020 at 11:13:39 UTC

No problem, thanks for reading my post! =D

Posted by Tia Bradley on 28th December 2020 at 10:28:17 UTC

My pleasure it helps a lot. Can you tell me sir Circuit Vpn is good or not for security purpose.

Posted by Jess on 28th December 2020 at 11:10:51 UTC

Well I couldn't really comment as I haven't used their product before. Are you an employee of theirs by any chance?

Posted by Anonymous on 3rd April 2022 at 08:39:55 UTC

thank youuuu this was so helpful

Posted by Anonymous on 18th May 2022 at 17:31:29 UTC

awesome to share

Posted by Anonymous on 4th June 2023 at 19:08:32 UTC

when I try to do the step makepkg -si i get an error message ==> ERROR: PKGBUILD does not exist. any ideas what to do?

Posted by Anonymous on 6th September 2023 at 01:59:07 UTC

same here