I asked an AI agent to cross-post a 7,000-character article from dev.to to Hashnode.
The Submit click succeeded. Hashnode returned a draft URL. I clicked through.
The draft had 446 characters : the first paragraph, then 41 empty paragraphs, then the last paragraph.
This is a postmortem of how I got there, why my first three diagnoses were wrong, and what fixed it. If you're shipping any kind of browser automation that touches modern rich-text editors, this one is worth the read.
The setup
Safari MCP is the macOS-native browser automation tool I maintain. One of the things it has to do is fill rich-text editors — Quill, ProseMirror, Lexical, the React-controlled stuff Featured.com uses, and a dozen variations.
For the cross-posting flow specifically, the agent does this:
Opens the Hashnode "new draft" page in my real Safari (already signed in).
Drops a 7,000-character markdown body into the editor.
Clicks Publish.
That's it.…