diff --git a/src/hosts/core/manager.py b/src/hosts/core/manager.py index 5bbd280..9e49fc5 100644 --- a/src/hosts/core/manager.py +++ b/src/hosts/core/manager.py @@ -331,7 +331,16 @@ class HostsManager: # Remove the entry deleted_entry = hosts_file.entries.pop(index) - return True, f"Entry deleted: {deleted_entry.canonical_hostname}" + canonical_hostname = deleted_entry.hostnames[0] if deleted_entry.hostnames else deleted_entry.ip_address + + # Save the file immediately + save_success, save_message = self.save_hosts_file(hosts_file) + if not save_success: + # If save fails, restore the entry + hosts_file.entries.insert(index, deleted_entry) + return False, f"Failed to save after deletion: {save_message}" + + return True, f"Entry deleted: {canonical_hostname}" except Exception as e: return False, f"Error deleting entry: {e}"