When you develop for Windows and macOS, each computer has its own checkout and build tools. Sometimes the next thing the other machine needs is just a small file: a patch, a reproduction, or a test log.
Here is a small exercise for that handoff using SwarmSpan. Start with a throwaway text file, verify what arrived, and send a reply back before moving development work.
Disclosure: I make SwarmSpan. AI assisted with this article.
Before you start
You need a Windows PC and a Mac on the same local network, both awake and running SwarmSpan. Install the appropriate edition on each computer and complete pairing and any OS network or folder permissions.
The Windows license costs $4.99 once for your own Windows PCs. The Mac App Store edition is a separate $4.99 purchase through Apple and needs no key. There is no subscription. Check the App Store for current Mac requirements and local pricing. Installs from before licensing keep working at no charge.
Send one file and return a reply
- Open SwarmSpan on both computers, from the Windows tray and the Mac menu bar.
- Pair the computers with SwarmSpan's one-time code. Check the intended device before trusting it.
- Save
hello-swarmspan.txtwith the textHello from my other computer. - Choose Send files to a device…, select the file, and choose the paired receiver. Approve the transfer on the receiver if prompted.
- Wait for completion, open the received file, and compare its text.
- Send a reply file back and check it too.
A request being accepted is not the same as the correct file arriving. If the transfer cannot complete, check that both devices are running SwarmSpan, still paired, and reachable on the local network. A VPN, firewall or guest Wi-Fi network can affect reachability.
Use the handoff for development work
Keep separate Git checkouts and identify the revision you want to test. Send a small patch or reproduction file to the receiving machine, apply it deliberately, and run the relevant test there. Return a log showing the command, revision and outcome. Review the returned file before calling the cross-platform test successful.
Git still owns repository history. File transfer does not merge your working trees or select the correct SDK. Start with a small artifact; generated files, credentials and unrelated changes make a first experiment harder to understand.
Optional next step: another computer's agent
After file transfer works, you can configure SwarmSpan MCP and the receiving agent bridge. The receiving agent needs its own tools, provider sign-in, permissions and model budget. Mac App Store sandbox permissions may limit folders or external tools.
Start with a read-only request: discover the available paired agent, ask for OS and installed SDK versions, and have it return developer-inventory.txt. Check the terminal job status and open the returned artifact. An accepted job is not a completed inventory.
The developer guide and edition links explain the prerequisites. Getting started covers pairing and sharing.
What do you move between your Windows PC and Mac today, and where does the handoff get awkward?
Top comments (2)
The separation between accepted, completed and inspected is useful. I'd add one retry fixture to the throwaway-file exercise: interrupt the connection after the receiver finishes writing but before the sender gets its completion acknowledgment, then retry with a same-name file already present.
Can the sender tell "already received this transfer" from "a different file has that name," without silently replacing it or leaving an ambiguous partial file? Including transfer ID, byte count and a content hash in the receipt would make that distinction inspectable; the patch handoff still needs the revision and test result you describe. I haven't tried SwarmSpan, so this is a suggested lost-acknowledgment case, not a reported failure.
That lost-acknowledgment fixture is a useful separate check. I have not run it, so I cannot claim retry deduplication or exactly-once delivery from this tutorial.
Today I verified a 145-byte synthetic file moving through the installed SwarmSpan MCP from Windows to a paired Mac and back. Both transfer statuses reached Completed, and the returned SHA-256 matched the original. On return, the actual destination had a collision suffix, so the comparison used the path reported by the completed transfer rather than assuming the requested filename. This does not prove what happens when an acknowledgment is lost.
I published the exercise and a read-only comparison helper here: gist.github.com/scrossen/3da643df1...
For the retry case, the receipt should distinguish transfer identity, actual destination, byte count and content identity; a matching filename alone is insufficient. AI assisted with this reply.