Overview
Themullvad custom-list command creates and manages custom lists of relay locations that can be used for relay selection.
Syntax
Subcommands
new
Create a new custom list:<NAME>- Name for the custom list (max 30 characters)
list
Show all custom lists or a specific list:[NAME]- Optional name of specific list to display
edit
Modify a custom list:delete
Delete a custom list:<NAME>- Name of the list to delete
Edit Subcommands
add
Add a location to a custom list:<NAME>- Name of the custom list<COUNTRY>- Country code (e.g.,se,us)[CITY]- Optional city code (e.g.,got,nyc)[HOSTNAME]- Optional specific relay hostname
remove
Remove a location from a custom list:add.
rename
Rename a custom list:<NAME>- Current name of the list<NEW_NAME>- New name for the list (max 30 characters)
Examples
Create Custom List
List All Custom Lists
Show Specific List
Add Locations to List
Add entire country:Remove Locations
Remove country:Rename Custom List
Delete Custom List
Use Custom List for Relay Selection
Location Hierarchy
Locations in custom lists follow a hierarchy:Country Level
Add entire country:City Level
Add specific city:Hostname Level
Add specific relay:Common Custom List Examples
Regional Lists
Europe:Low-Latency List
Create list of nearby relays:Favorite Relays
List of specific relays:Owned Servers Only
Combine custom list with ownership filter:Advanced Usage
Multihop with Custom Lists
Use custom lists for entry and exit:Dynamic List Updates
Update list while connected:List Management
View All Locations in List
- Full country names
- City names
- Country/city codes
- Hostnames
Duplicate Detection
Attempting to add existing location:Removing Non-Existent Location
List Name Constraints
Maximum Length
List names are limited to 30 characters (UTF-8 codepoints):Name Trimming
Whitespace is automatically trimmed:Existing Names
Referencing lists by name is case-sensitive:Related Commands
- relay set custom-list - Use custom list for relay selection
- relay list - View all available relays
- relay get - Show current relay constraints
- connect - Connect using custom list
Exit Status
| Code | Description |
|---|---|
| 0 | Command executed successfully |
| 1 | List not found, invalid location, or operation failed |
Notes
- Custom lists are persistent across restarts
- Lists can include inactive relays (useful for planning)
- List names are limited to 30 characters
- Locations are stored as geographic constraints
- Lists can mix countries, cities, and specific hostnames
- Empty lists are allowed
- Lists are validated against relay cache when used
Troubleshooting
Invalid Location
If you get “Invalid location argument”:-
Check available locations:
-
Verify country/city codes:
- Sweden:
se - Gothenburg:
got - Relay:
se-got-wg-004
- Sweden:
-
Use correct hierarchy:
List Not Found
If you get “List not found”:-
Check existing lists:
- Verify exact name (case-sensitive)
- List may have been deleted
Source Reference
Implementation:mullvad-cli/src/cmds/custom_list.rs