Skip to main content
Mullvad accounts support multiple devices simultaneously. This guide covers device registration, limits, and management.

Device System Overview

Each Mullvad account can have up to 5 active devices at a time. When you log in, the daemon:
  1. Generates a unique WireGuard keypair for the device
  2. Creates a device entry with a random name (e.g., “Happy Seagull”)
  3. Registers the device with your account via the API
  4. Associates the public key with the device
Devices are the fundamental unit of VPN connections. Each device has its own WireGuard keys and configuration.

Device Properties

Every device has the following attributes:
  • Device ID: Unique identifier (UUID format)
  • Device Name: Human-readable random name for easy identification
  • Public Key: WireGuard public key for this device
  • Created: Timestamp when device was registered
  • DNS Hijacking: Whether the device hijacks DNS queries (typically false)

Device Limits

Maximum Devices

Mullvad enforces a 5-device limit per account. When you reach this limit:
  • Login attempts fail with MAX_DEVICES_REACHED error
  • You must remove an existing device before adding a new one
  • Connection attempts show: “This account has too many simultaneous connections”
If you get a “too many connections” error (TOO_MANY_CONNECTIONS), you’ve hit the device limit. Remove unused devices to free up slots.

Error Messages

Listing Devices

View all devices associated with an account.

List Your Current Account’s Devices

Output:

List Another Account’s Devices

Specify an account number to view its devices:
You must have valid credentials for the specified account to list its devices.

Verbose Device Information

Get detailed information about each device:
Output:

Removing Devices

Free up device slots by removing devices you no longer use.
1

Identify the Device

List devices to find the name or ID:
Note the device name (e.g., “Wise Penguin”) or ID.
2

Revoke the Device

Remove by name (case-insensitive):
Or remove by device ID:
Output:
3

Verify Removal

Confirm the device is gone:
The device should no longer appear in the list.

Remove Device from Another Account

Specify the account number to remove devices from a different account:

What Happens When a Device is Removed

The RemoveDevice RPC:
  1. Deletes the device entry from the account
  2. Invalidates the device’s WireGuard keys
  3. Frees a device slot immediately
  4. Emits a RemoveDeviceEvent to notify other components
Revoking a device immediately disconnects it from the VPN. The device will show a “device revoked” state and must log in again to reconnect.

Device States

Devices can be in one of three states:

Logged In (LOGGED_IN)

Device is active and can connect to the VPN.

Logged Out (LOGGED_OUT)

No device is registered for this installation.

Revoked (REVOKED)

Device was removed from the account (by you or another device).

Updating Devices

Refresh device information from the API.

Manual Device Update

The UpdateDevice RPC syncs device state with the API:
This checks:
  • Whether the device still exists on the account
  • If the account has expired
  • Current device configuration
The daemon calls UpdateDevice automatically before most operations. You rarely need to trigger this manually.

Device Events

The daemon emits DeviceEvent notifications when device state changes:

Event Causes

Device Event Structure

Remove Device Event

Emitted when a device is explicitly removed via RPC (not during logout):

Device API

The device API provides several endpoints:

Create Device

Endpoint: POST /api/v1/accounts/devices Request Body:
Response (201 Created):

List Devices

Endpoint: GET /api/v1/accounts/devices Response (200 OK):

Get Device

Endpoint: GET /api/v1/accounts/devices/{device_id} Response (200 OK): Returns single device object.

Remove Device

Endpoint: DELETE /api/v1/accounts/devices/{device_id} Response (204 No Content): Device removed successfully.

Managing Many Devices

Strategies for managing multiple devices effectively:

Regular Cleanup

Periodically remove unused devices:

Device Naming

While device names are randomly assigned, you can identify devices by:
  • Public key: Unique to each device
  • Created date: When device was registered
  • Device ID: Unique identifier
Keep notes of which device name corresponds to which physical device, especially if you frequently add/remove devices.

Logout vs. Revoke

Logout (from the device itself):
  • Removes current device
  • Can only be done on the device itself
  • Proper cleanup method
Revoke (from any device):
  • Removes any device remotely
  • Useful for lost or stolen devices
  • Can be done from any logged-in device

Troubleshooting

Too Many Connections Error

Problem: Can’t connect or log in, seeing “too many simultaneous connections”. Solution:
  1. List your devices: mullvad account list-devices
  2. Remove unused devices: mullvad account revoke-device "Device Name"
  3. Try logging in again

Device Not Found Error

Problem: Trying to remove a device that doesn’t exist. Solution:
  1. Verify the device name or ID: mullvad account list-devices -v
  2. Use exact name (case-insensitive) or device ID
  3. Ensure you’re checking the correct account with -a flag

Device Revoked Unexpectedly

Problem: Your device shows as revoked, but you didn’t log out. Possible Causes:
  • Another device removed this one to free a slot
  • Account hit device limit and old device was auto-removed
  • API sync issue
Solution:
  1. Check current devices: mullvad account list-devices
  2. Log in again: mullvad account login
  3. This creates a new device entry

CLI Reference

gRPC Service Reference

Device Message

DeviceState Message

DeviceRemoval Message