| name | tailscale-dns-management |
| description | Manage Tailscale DNS — split DNS routes, global nameservers, search paths, MagicDNS |
Tailscale DNS Management
Workflow skill for managing Tailscale DNS configuration including split DNS routes, global nameservers, search paths, and MagicDNS preferences.
Workflow 1: View DNS Configuration
Gather all DNS data in parallel:
tailscale_dns_splitdns_get — domain-to-nameserver mappings
tailscale_dns_nameservers_get — global nameservers
tailscale_dns_searchpaths_get — search paths
tailscale_dns_preferences_get — MagicDNS status
Format as a structured dashboard:
🔀 Split DNS Routes
| Domain | Nameservers |
|---|
| home.lab | 10.10.0.1 |
🌐 Global Nameservers
🔍 Search Paths
✨ MagicDNS: Enabled / Disabled
Workflow 2: Add Split DNS Route
- Gather domain and nameserver(s) from the user.
- Get current config:
tailscale_dns_splitdns_get.
- Show the current routes to confirm there are no conflicts.
- Apply the new route:
tailscale_dns_splitdns_set with the updated config (PATCH merges with existing).
- Verify:
tailscale_dns_splitdns_get to confirm the route was added.
- Report success with the full updated split DNS table.
Workflow 3: Remove Split DNS Route
- Get current routes:
tailscale_dns_splitdns_get.
- Show routes and ask which domain to remove.
- Require explicit user confirmation — split DNS changes affect all tailnet devices.
- Set the domain to an empty array to remove:
tailscale_dns_splitdns_set with { "domain": [] }.
- Verify:
tailscale_dns_splitdns_get to confirm removal.
Workflow 4: Update Global Nameservers
- Get current nameservers:
tailscale_dns_nameservers_get.
- Show current list, ask user for the new list.
- Confirm the change with the user.
- Apply:
tailscale_dns_nameservers_set with the new list.
- Verify:
tailscale_dns_nameservers_get.
Workflow 5: Toggle MagicDNS
- Get current state:
tailscale_dns_preferences_get.
- Show current MagicDNS status, confirm toggle with user.
- Apply:
tailscale_dns_preferences_set with the new boolean value.
- Verify:
tailscale_dns_preferences_get.
Rules
- Split DNS changes affect ALL tailnet devices — always warn the user before applying.
- Always verify after changes using a read operation.
- Show both split DNS and global nameservers together for the full DNS picture.
- When adding a split DNS route, the PATCH method merges with existing routes (does not replace all).
- Removing a route requires setting the domain to an empty array.
Key Tools
tailscale_dns_splitdns_get / tailscale_dns_splitdns_set — split DNS route management
tailscale_dns_nameservers_get / tailscale_dns_nameservers_set — global nameserver management
tailscale_dns_searchpaths_get / tailscale_dns_searchpaths_set — search path management
tailscale_dns_preferences_get / tailscale_dns_preferences_set — MagicDNS preferences