(CNN) When Grimes first posted a series of pregnancy photos on Instagram earlier this year, fans couldn't tell if she was trolling or not.
The Canadian singer, whose real name is Claire Elise Boucher, confirmed on Friday that she is, in fact, pregnant — and having a tough time.
"I feel like I was woefully ill prepared [because] I [don't know] if pregnancy is as visible or discussed as it should be," Grimes said in an Instagram post.
"I just didn't [really] understand what I was getting into. It's been good too, but it makes working a lot harder. Good at writing and having lots of wild ideas [though], but anything physical is hard. I'm also way more emo and less capable of bravery in the face of haters online and stuff haha."
Grimes, 31, revealed that she had early complications but a better second trimester. Now, 25 weeks in, she's "starting to hurt everywhere."
Grimes did not disclose the father of her child, but she has been linked to SpaceX CEO Elon Musk since 2018, when they attended the Met Gala together. The two were last pictured at a Christmas party with Kim Kardashian in December.
Her upcoming album, "Miss Anthropocene," will be out on February 21.