My son is almost 3 (33 months) and for the past few months, he has been holding his poop in, to the point that he won't go for many days a time. When this started, the doctor advised us to give him Miralax to make his stool softer so it comes out more easily. Even with the Miralax, he still managed to hold it for two days at a time sometimes, but at least it was coming out at all, so we continued with it.
Anyway, we've been giving him the Miralax for months now, and now he's (supposed to be) going to preschool in September, which of course requires that he be potty trained. We don't want to hold him back since he's developmentally ready otherwise, so we started potty training a few weeks ago.
He picked up the potty training really quickly – for peeing – but he still holds his poop in no matter what. If he's sitting on the potty, as soon as he's about to do it, he stands up and just keeps holding it in (and once he starts to stand, if we even so much as ask him to sit back down, he screams and cries).
We have tried everything to convince him (or distract him enough) to sit and poop: reading books, singing songs, playing games, playing with toys, offering him snacks/treats (graham crackers), giving him stickers, etc. Nothing works.
As of today, it has been a week since the last time he pooped, with the exception of a little bit today and a little bit yesterday (both of which ended up all over the bathroom floor since he won't sit down). The doctor says now we should give him an enema to force it all to come out, but even so, that won't solve anything going forward since he still won't go in his diaper or on the potty in the first place (what are we going to do, give him an enema every week, indefinitely?).
The issue isn't that he's scared of the potty itself, since (a) he was holding it before we started potty training, and (b) he knows exactly what he's supposed to do, since he has no problem with peeing (he sits down himself, points it out afterward, knows that it gets emptied into the big potty, etc.).
It's that he just won't poop, ever – not in his diaper, not on the potty – and the only reason why anything comes out at all is because we've been giving him the Miralax every day (and even then, these aren't "full" poops, just whatever happens to come out because it's soft enough that he's unable to hold it all in).
I'm at a complete loss as to why this even started, and what if anything we can do that would actually help. Is it a behavioral problem? Medical? Both?? Help!
UPDATE: I just wanted to update this question since a lot has changed since I originally posted it. We discovered there was a specific situation where he would go in his diaper voluntarily: in our bedroom closet with the door closed. So we knew then that the withholding was intentional, since it was now established that he could go if he wanted to.
So we let him continue going in the closet and, over time, found that he usually went around the same time each day. Based on that, we then had him sit on the potty when we knew it was most likely he would need to go. We also managed to find two things that distracted him enough to sit (blowing bubbles and playing with his toy laptop).
By doing this, we were able to get him to go on the potty without really realizing it (so he didn't try to fight it), and then made a big deal out of it every time he did. Over time, that helped establish that that's what he was supposed to do, and now he does so voluntarily. He hasn't pooped in his diaper in probably 3 weeks by now.
I wouldn't say he's "fully" potty trained, in that an adult still needs to go with him and distract him (and occasionally remind him when he needs to go in general), but finally we made progress.