Fix: sudo unable to resolve host ubuntu
This error matches known, documented patterns with reliable solutions.
Quick Fix (Most Common Solution)
- Add hostname to /etc/hosts
- Set 127.0.1.1 hostname in hosts
Seeing "sudo: unable to resolve host"? This error can be frustrating, but it's usually fixable. It typically affects your development workflow or system. Below you'll find clear, step-by-step solutions to resolve this issue.
What This Error Means
The system hostname is not in /etc/hosts file.
Frequently documented in developer and vendor support forums.
Why This Error Usually Happens
- The system hostname was changed (e.g. via hostnamectl set-hostname) but /etc/hosts was not updated to match.
- A cloud instance (AWS EC2, DigitalOcean, etc.) was provisioned with a hostname that has no corresponding entry in /etc/hosts.
- The /etc/hosts file was edited and the line mapping 127.0.1.1 to the hostname was accidentally removed.
- A container or VM was created without a proper hosts file entry for its assigned hostname.
Not affiliated with browser, OS, or device manufacturers.
New here? Learn why exact error messages matter →
Common Causes
- Hostname changed
- Missing hosts entry
- DNS misconfiguration
What This Error Is Often Confused With
- sudo: command not found — Means sudo itself is not installed. "Unable to resolve host" means sudo is installed but cannot look up the hostname.
- ssh: Could not resolve hostname — An SSH/DNS issue when connecting to a remote server. Unrelated to the local /etc/hosts file.
- ping: unknown host — A DNS resolution failure for external domains. Not about the local hostname mapping.
What This Error Does NOT Mean
- Sudo is broken or that your commands failed. Sudo still executes the command — it only displays a warning.
- Your DNS or internet connection is down. This is strictly about the local hostname lookup in /etc/hosts.
- Your system has been compromised or misconfigured in a dangerous way. This is a routine configuration gap.
How to Fix
- Add hostname to /etc/hosts
- Set 127.0.1.1 hostname in hosts
- Verify hostname matches /etc/hostname
Last reviewed: March 2026 How we review solutions
Optional follow-up
Some users ask whether saving fixes for recurring errors would be useful when the same issue appears again.
Was this explanation helpful?
Frequently Asked Questions
Does this affect sudo?
No, sudo still works but shows a warning.
How do I fix hosts file?
Add: 127.0.1.1 yourhostname
Why does sudo say unable to resolve host after changing hostname?
When you change the hostname with hostnamectl or by editing /etc/hostname, the /etc/hosts file still references the old name. Adding the new hostname to /etc/hosts resolves this.
Is "sudo unable to resolve host" dangerous?
No. This is a cosmetic warning. Sudo still runs the command successfully. It simply means the system cannot map its own hostname to an IP address via /etc/hosts.
How do I fix sudo unable to resolve host ubuntu?
Open /etc/hosts with sudo nano /etc/hosts and add a line: 127.0.1.1 yourhostname (replace yourhostname with the output of the hostname command). Save and the warning stops immediately.
Related Resources
Also Known As
- Linux error
- Unix error
- Terminal error
- Shell error
- Command line error
Common Search Variations
- "linux terminal error"
- "permission denied linux fix"
- "command not found linux"
- "linux shell error solution"
- "ubuntu error how to fix"
- "linux process crashed"
Related Errors
Still Stuck?
Paste a different error message or upload a screenshot to get help instantly.