diff --git a/src/mudlib/if_session.py b/src/mudlib/if_session.py index 4d71d73..3ddca96 100644 --- a/src/mudlib/if_session.py +++ b/src/mudlib/if_session.py @@ -127,12 +127,22 @@ class IFSession: self.process.stdin.write(f"{save_path_str}\n".encode()) await self.process.stdin.drain() - # Read confirmation - confirmation = await self._read_response() + # Read response - might be "Ok." or "Overwrite existing file?" + response = await self._read_response() + + # Auto-confirm overwrite if file already exists + if "overwrite" in response.lower(): + self.process.stdin.write(b"yes\n") + await self.process.stdin.drain() + response = await self._read_response() + + # Check for failure + if "failed" in response.lower(): + return "error: save failed" # Mark as saved self._saved = True - return confirmation + return "saved." except Exception as e: return f"error: save failed ({e})"