Era Host hosting
EraHost – Free Domain, Cheap Hosting!
Client Area
Support 24/7
Menu

Fix "Unable to Resolve Target System Name" in tracert

19 min read
02.10.2025

Windows can return Unable to resolve target system name almost immediately after you run tracert. The message looks like a routing problem, but in this case the route trace usually has not started. Windows first has to convert the destination hostname into an IP address. If that lookup fails, tracert has nowhere to send its probes.

The fastest diagnostic split is hostname versus IP. If tracert example.com fails instantly but a trace to the destination IP begins showing hops, stop looking for a broken router first. The failed stage is name resolution.

Do not confuse that with a trace that starts normally and later shows Request timed out. Once tracert displays the destination IP or begins listing hops, the hostname has already been resolved. Timeouts after that belong to routing, filtering, or ICMP behavior, not to the original DNS error.

Quick answer: if tracert hostname returns Unable to resolve target system name, verify the hostname, test the target by IP, then check Resolve-DnsName, nslookup, and the DNS servers Windows is actually using. Flush the DNS cache or change network settings only after those tests point to a local resolver problem.

What Does "Unable to Resolve Target System Name" in tracert Mean?

Unable to resolve target system name means Windows could not obtain an IP address for the destination hostname before tracert began tracing the route.

A failed lookup can look like this:

C:\>tracert bad-name
Unable to resolve target system name bad-name.

Compare that with a target whose name has already been resolved:

C:\>tracert valid-host
Tracing route to valid-host [192.0.2.10]
over a maximum of 30 hops:

In the second example, the DNS stage is already behind you. Whatever happens on hop 1, hop 5, or at the destination is a different problem.

The initial resolution can fail because the hostname is mistyped, the requested DNS record does not exist, the configured DNS server is unreachable, or Windows is asking a resolver that does not know the relevant DNS zone. Private names introduce another layer: server01 may work on an office network because a DNS suffix is appended automatically, then fail at home because neither the suffix nor the private resolver is available.

Result What it proves What it does not prove
Unable to resolve target system name The destination name was not converted to a usable address That a router or firewall is blocking the route
Tracing route to host [IP] Name resolution succeeded That every hop or the destination will answer
Request timed out after tracing starts A probe did not receive a response That DNS is still failing

If the error appears before the first hop, keep the first round of troubleshooting on the name-resolution side.

Does tracert Work When You Use the Destination IP Address?

If tracert fails with a hostname but starts when you supply the destination IP directly, DNS becomes the first layer to investigate. Using an IP removes the initial forward lookup of the target name.

Start with the failing command:

tracert example.com

Then test the real destination address:

tracert IP_ADDRESS

If you are documenting the syntax rather than tracing a real host, use a reserved documentation address such as 203.0.113.10. Do not expect that address to behave like a live Internet server.

Suppose the hostname fails immediately, while the IP version begins showing routers. That is a strong signal: Windows can start the network trace once DNS is removed from the equation. It still does not prove that the entire route is healthy or that the final host will reply.

Do not overread the IP test. A hostname behind a CDN, Anycast network, reverse proxy, or load balancer may resolve to different IP addresses depending on resolver, location, or time. Tracing one known IP proves that tracert can operate without target-name resolution; it does not always prove that you are testing the exact path the hostname would use right now.

If both the hostname test and the direct-IP trace fail, there may be two separate issues. The DNS error still needs to be explained, but routing, local firewall rules, VPN state, interface configuration, or upstream connectivity may also need attention.

Command or symptom Likely layer to check Next test
tracert hostname returns Unable to resolve... Name resolution Run Resolve-DnsName and nslookup
tracert IP_ADDRESS starts showing hops DNS becomes the first suspect Query the hostname directly
tracert hostname starts, then times out DNS already succeeded Investigate routing and ICMP separately
ping hostname says it cannot find the host Windows name resolution Compare DNS-specific tools
Resolve-DnsName hostname fails DNS record, resolver, or DNS path Identify the DNS server and query it explicitly

First isolate DNS from the path. It is a much cleaner test than rebooting the router or changing several settings at once.

Can Windows Resolve the Hostname Outside tracert?

Test the hostname with DNS-specific commands before changing Windows networking. Resolve-DnsName and nslookup tell you much more than another failed tracert: whether the name exists, whether the requested address record exists, whether the resolver answers, and whether different DNS servers return different results.

Test the hostname with Resolve-DnsName

Open PowerShell and run:

Resolve-DnsName example.com

A working query may return an A record, an AAAA record, a CNAME chain, or several records. Focus on the record type and returned address rather than just seeing that the command printed something.

A simplified successful result can look like:

Name       : example.com
Type       : A
IPAddress  : 192.0.2.10

The address above is only documentation data. Your target should return the address or addresses expected for its own DNS configuration.

You can query one address family explicitly:

Resolve-DnsName example.com -Type A

Resolve-DnsName example.com -Type AAAA

This distinction matters because "the name does not exist" and "the name exists but has no AAAA record" are not the same condition.

Compare the result with nslookup

nslookup is useful when you want to see which DNS server is answering or send the same query to another resolver.

nslookup example.com

To query a specific DNS server:

nslookup example.com DNS_SERVER_IP

If the normal resolver fails but another appropriate resolver returns the expected record, you have a useful difference to investigate. For a public hostname, comparing against another public resolver can help. For a private corporate hostname, it can mislead you: public DNS is not supposed to know a private zone.

DNS result What it usually means What to check next
Expected A or AAAA record The queried resolver can resolve that record type Compare with the Windows system resolution path if tracert still fails
NXDOMAIN / non-existent domain The resolver says that DNS name does not exist in the namespace it queried Verify spelling, FQDN, DNS zone, and resolver
Name exists but requested A or AAAA data is absent The hostname exists, but not with that record type Check whether the service is meant to use IPv4, IPv6, or both
SERVFAIL / server failure The resolver could not complete resolution successfully Try the authoritative path or another appropriate resolver and inspect DNS configuration
Query timeout No usable reply arrived from the resolver in time Check reachability, DNS server address, VPN state, and filtering
One DNS server resolves while another does not The resolvers have different data, visibility, policy, or cache state Determine which resolver should answer for this namespace

A particularly useful case is when nslookup returns the expected address but tracert hostname still reports that the name cannot be resolved. Stop changing public DNS servers at that point. nslookup performs a direct DNS query, while Windows applications use the system name-resolution path, where local cache, hosts, suffix processing, interface configuration, and policy can matter.

The reverse mismatch is possible too. A website may open in a browser while system tools have trouble resolving the same hostname if the browser is using its own DNS-over-HTTPS resolver or cached DNS data. Browser success alone does not prove that Windows system DNS is healthy.

Is the Hostname Correct and Does a DNS Record Actually Exist?

If other domains resolve normally and only one target fails, verify the target itself before changing Windows. An incorrect hostname, a URL pasted into tracert, a missing DNS record, or a name that exists only in a private zone can all produce the same starting symptom.

tracert accepts a hostname or IP address. It does not accept a complete web URL.

Wrong:

tracert https://example.com/path

Correct:

tracert example.com

The same applies to ports and application paths. Reduce a browser address such as https://example.com:8443/admin to example.com before tracing it.

Private environments add another common trap. Inside an office network, this may work:

tracert server01

Windows may be appending a DNS suffix automatically. From another network, the short name can fail while the FQDN still works:

tracert server01.example.internal

Query exactly what you are trying to trace:

Resolve-DnsName exact-hostname
nslookup exact-hostname

If you know the resolver that should know the zone, ask it directly:

nslookup exact-hostname DNS_SERVER_IP

Recent DNS changes are another reason not to assume every resolver has the same answer. One server may already have fresh data while another still holds an older cached result until its TTL expires. Compare resolvers instead of treating the age of the change as proof by itself.

Check the target before fixing the resolver. If the hostname is wrong or the expected record is missing from the DNS namespace being queried, changing Windows DNS settings only moves the failed query somewhere else.

Is Windows Using the DNS Server You Expect?

A hostname can exist perfectly well and still fail on one Windows machine if that machine is asking the wrong resolver. This gets less obvious when Ethernet, Wi-Fi, VPN software, Hyper-V, WSL, Docker, or other virtual adapters coexist.

Start with:

ipconfig /all

Check the relevant adapters for DNS server addresses, connection-specific DNS suffixes, DHCP state, and VPN or virtual interfaces. Then get a cleaner PowerShell view:

Get-DnsClientServerAddress

For IP configuration by interface:

Get-NetIPConfiguration

Two adapters can be up, the VPN can say Connected, and ipconfig /all can show several DNS servers at once. This is where querying the resolver explicitly is more useful than staring at the GUI.

nslookup example.com DNS_SERVER_1

nslookup example.com DNS_SERVER_2

If one server returns the expected address and another does not, compare what those resolvers are intended to know. A corporate DNS server may resolve both Internet names and private company zones. A public resolver may handle example.com correctly while knowing nothing about db01.corp.example.

Public DNS can be perfectly healthy here. It can simply be the wrong DNS for that namespace.

  1. Run ipconfig /all and Get-DnsClientServerAddress.
  2. Identify the DNS servers attached to the relevant physical, VPN, and virtual interfaces.
  3. Query the failing hostname against each resolver that should know it.
  4. Compare the responses rather than assuming the first visible adapter controls every DNS query.
  5. For private names, confirm that the resolver has access to the private zone.

When VPN or DNS policy overrides normal adapter settings

On managed Windows systems, DNS selection is not always as simple as "use the DNS server on the interface with the default route." VPN clients and Windows Name Resolution Policy Table rules can send queries for selected namespaces to specific DNS servers.

If ordinary adapter settings look correct but only a corporate suffix behaves differently, inspect NRPT policy:

Get-DnsClientNrptPolicy

NRPT is especially relevant to split-DNS and corporate VPN setups. A rule can affect corp.example without changing how Windows resolves unrelated public domains. That explains the classic pattern where Google and other public sites resolve normally while one internal namespace fails.

Do not remove NRPT or VPN DNS policy just because it appears in the output. First confirm whether the failing hostname falls under one of those namespaces and whether the specified resolver is reachable.

Could the Windows DNS Cache or hosts File Be Returning the Wrong Result?

If one Windows PC behaves differently from another device on the same network, local resolver state deserves attention. The DNS client cache can retain previous positive or negative results, while the hosts file can override normal DNS lookup for particular names.

Inspect and clear the Windows DNS cache

View the current resolver cache with:

ipconfig /displaydns

On a busy workstation, filter the output:

ipconfig /displaydns | findstr /i "example.com"

If the DNS record recently changed or the machine cached an earlier failed lookup, flush the local DNS cache:

ipconfig /flushdns

Then repeat the actual tests:

Resolve-DnsName example.com
tracert example.com

ipconfig /flushdns cannot create a missing record, repair an unreachable resolver, or teach public DNS about a private hostname. If the same lookup fails immediately after the flush with the same DNS server, keep troubleshooting the resolver or DNS data instead of flushing again.

Check the Windows hosts file

The Windows hosts file is located at:

C:\Windows\System32\drivers\etc\hosts

Look for an old test address, duplicate entry, typo, forgotten development mapping, or a line added by filtering software.

  • an obsolete IP left from testing;
  • a misspelled hostname;
  • duplicate or conflicting mappings;
  • a temporary development entry;
  • an unexpected entry added by another program.

Do not wipe the file just because name resolution is failing. Correct only an entry that actually affects the hostname you are troubleshooting.

There is also an important limitation here: a syntactically valid stale hosts entry normally resolves the hostname to the wrong IP rather than causing the exact Unable to resolve target system name message. That makes hosts especially relevant when one machine returns an unexpected address, not as the automatic explanation for every unresolved target.

Does the Name Require a DNS Suffix or a VPN Connection?

Short and private hostnames may resolve only when Windows has the right DNS suffix and access to the private resolver. A common pattern is simple: server01 works in the office, fails at home, then starts working again as soon as the corporate VPN connects.

Compare the short name with its FQDN:

server01
server01.example.internal

Then query both:

Resolve-DnsName server01
Resolve-DnsName server01.example.internal

And compare tracert:

tracert server01
tracert server01.example.internal

If the FQDN resolves while the short name fails, the target itself probably exists. Look at suffix processing next.

Useful commands include:

ipconfig /all
Get-DnsClient
Get-DnsClientGlobalSetting

Check connection-specific suffixes and the global suffix search list. DHCP, Group Policy, manual configuration, and VPN software can all influence those settings.

Now consider the VPN case. Public domains still resolve, but server01.example.internal fails the moment the tunnel disconnects. Replacing the home router's DNS with a public resolver is not a useful fix. The private namespace probably depends on a DNS server reachable through the VPN.

Even a connected VPN does not guarantee that DNS is correct. The tunnel may be established while the expected corporate resolver, DNS suffix, or namespace policy is missing or unreachable.

Test Result Likely direction
Public FQDN Works General Internet DNS is available
Private short hostname Fails Check suffix, private DNS, and VPN
Private FQDN Works Short-name suffix processing is suspect
Private FQDN Fails without VPN, works with VPN The name depends on DNS reachable through the tunnel
Only one private namespace fails while VPN is connected Public DNS works, selected namespace does not Check split-DNS or NRPT policy

Check whether the name is private before blaming public DNS.

Is IPv4 or IPv6 Resolution Causing Different Results?

Separate A and AAAA lookups when the hostname behaves differently between address families. An A record supplies an IPv4 address; an AAAA record supplies an IPv6 address.

Query IPv4:

Resolve-DnsName example.com -Type A

Query IPv6:

Resolve-DnsName example.com -Type AAAA

Then force tracert to use one family at a time:

tracert -4 example.com
tracert -6 example.com

A hostname can legitimately have only an A record. Missing AAAA data in that case is not a DNS failure. Another target may publish both families while the local network has working IPv4 and broken IPv6 connectivity.

If tracert -4 works and tracert -6 does not, verify whether an AAAA record exists and whether IPv6 connectivity actually works on the active interface. The reverse can happen on IPv6-preferred networks.

Test first. Disable nothing yet.

Disabling IPv6 is a poor first response to Unable to resolve target system name. First establish whether the problem is a missing AAAA record, failed IPv6 connectivity, or a DNS failure that happens before either address family can be used.

If no address exists for the family you force, tracert -4 or tracert -6 cannot manufacture one. The test narrows the fault; it does not repair DNS.

Why Does tracert -d Not Fix "Unable to Resolve Target System Name"?

tracert -d does not bypass the initial lookup of a destination hostname. The -d option suppresses hostname resolution for intermediate hop addresses after the trace has started.

This command can still fail on the target name:

tracert -d example.com

because Windows first needs to perform a forward lookup:

example.com
to
IP address

Without the destination IP, no probes can be sent.

During a working trace, Windows may also perform reverse lookups on intermediate router IP addresses so that names appear beside or instead of numeric addresses. That is the lookup -d suppresses.

Compare:

tracert -d example.com

with:

tracert -d IP_ADDRESS

The second command needs no forward lookup for the target because you supplied the address yourself. That is why an IP test can isolate target DNS resolution while -d cannot fix an unresolved hostname.

You can check the built-in option description with:

tracert /?

A good rule is short: -d skips reverse lookups along the path; it does not convert an unresolved destination name into an IP.

What Should You Check Before Changing DNS or Resetting the Network?

Before resetting the Windows network stack, narrow the failure to a hostname, DNS record, resolver, local Windows state, VPN/private DNS configuration, or one address family. Most of the useful early tests are read-only.

  1. Verify the target syntax. Pass a hostname or IP to tracert, not a URL, path, or port.
  2. Check the hostname spelling. If only one name fails, confirm that it really exists.
  3. Trace the destination by IP. If hops begin appearing, investigate name resolution first.
  4. Run Resolve-DnsName hostname. Note whether you get an A/AAAA record, NXDOMAIN, missing record type, server failure, or timeout.
  5. Run nslookup hostname. Record the DNS server answering the query.
  6. Inspect DNS configuration. Use ipconfig /all and Get-DnsClientServerAddress.
  7. Query the expected resolver explicitly. Use nslookup hostname DNS_SERVER_IP.
  8. Compare scope. Test the same hostname from another device, another network, or with VPN on and off.
  9. Check local state if only one PC fails. Inspect ipconfig /displaydns and the hosts file; flush the cache only when justified.
  10. For internal names, test the FQDN. Compare it with the short hostname and inspect DNS suffix settings.
  11. Check VPN and policy. For corporate namespaces, inspect the VPN-assigned DNS configuration and, when relevant, Get-DnsClientNrptPolicy.
  12. Separate IPv4 and IPv6. Compare A/AAAA records and tracert -4 with tracert -6.
  13. Repeat the original trace. Once resolution works, run tracert hostname again.

One extra comparison often locates the fault faster than another reset command:

What you observe Most useful layer to investigate
The hostname fails on one Windows PC only Local resolver cache, hosts, DNS client configuration, adapter, or policy
The hostname fails on every device in the same network Network DNS resolver, router-provided DNS, upstream DNS, or the DNS record itself
The hostname works only while VPN is connected Private DNS, VPN DNS assignment, split DNS, or NRPT
Only one hostname or DNS zone fails Name, DNS record, zone visibility, delegation, or namespace-specific policy
FQDN works but the short hostname fails DNS suffix or suffix search list
A lookup works but AAAA does not Record-family or IPv6-specific issue, not a generic DNS outage

A compact decision flow is:

Unable to resolve target system name

Check the target syntax
  If wrong: correct the hostname

Test tracert with the destination IP
  If it starts: investigate name resolution

Run Resolve-DnsName and nslookup
  If the name is absent: verify the record and zone
  If the query times out: verify the resolver and path to it
  If resolvers disagree: identify which one should answer

If the name is private or short:
  check FQDN, suffix, VPN, private DNS, and policy

If only one Windows PC fails:
  inspect cache, hosts, adapter DNS, and NRPT

If IPv4 and IPv6 differ:
  compare A, AAAA, tracert -4, and tracert -6

Do not start by removing adapters, randomly replacing DNS servers, disabling IPv6, changing firewall rules, or performing a full network reset. Those actions change several variables before you know which layer failed.

The original error is resolved when Windows returns the expected address for the hostname and tracert hostname no longer stops with Unable to resolve target system name. The trace can still contain Request timed out afterward. If that happens, DNS has already done its job and the investigation has moved to another layer.

A useful troubleshooting result is specific: the hostname was wrong, the record did not exist, the resolver could not answer, the private DNS server was unavailable without VPN, the short name needed a suffix, one Windows machine had local resolver state or policy problems, or IPv4 and IPv6 behaved differently. "tracert does not work" is only the starting symptom.

Frequently asked questions
Windows could not translate the destination hostname into a usable IP address before the trace began. Check the hostname, DNS record, resolver, and network-specific DNS settings.
Using an IP bypasses the initial target-name lookup. If the IP trace starts but the hostname fails, DNS or the Windows name-resolution path is the first place to investigate.
Only if stale local DNS cache data is involved. It will not create a missing record, repair an unreachable resolver, or make public DNS resolve a private hostname.
nslookup performs a direct DNS query, while tracert relies on the Windows system resolution path, where cache, hosts entries, suffixes, interface settings, and policy can affect the result.
Yes. Private hostnames may depend on DNS servers, suffixes, split-DNS rules, or NRPT policies available only through the corporate VPN.
No. The -d option skips reverse lookups for intermediate hops, but a destination supplied as a hostname still has to be resolved to an IP address first.
The browser may use DNS-over-HTTPS or cached DNS data while tracert relies on Windows system name resolution, so the two can temporarily use different resolution paths.
Related articles
Unable to Resolve Target System Name with Tracert: Steps to Resolve
Unable to Resolve Target System Name Error
Unable to Resolve Target System Name in Tracert