diff --git a/crates/sandcage/src/setup.rs b/crates/sandcage/src/setup.rs index ad0fa07..14435f8 100644 --- a/crates/sandcage/src/setup.rs +++ b/crates/sandcage/src/setup.rs @@ -334,8 +334,12 @@ pub fn has_legacy_ssh_mount(config: &SandcageConfig) -> bool { } pub fn write_ssh_config_to_yaml(path: &Path, entries: &[SshDiscoveryEntry]) -> Result<()> { - let content = std::fs::read_to_string(path) - .map_err(|e| SetupError::ConfigReadFailed(path.to_path_buf(), e))?; + let content = if path.exists() { + std::fs::read_to_string(path) + .map_err(|e| SetupError::ConfigReadFailed(path.to_path_buf(), e))? + } else { + String::new() + }; let mut config: SandcageConfig = if content.trim().is_empty() { SandcageConfig::default()