The Most Annoying ChatGPT Bug for Me and How to Work Around It

Surely I’m not the only one who’s been seeing this bug for months now. As a software engineer, I often need to write docs and deal with Markdown. My whole blog is based on Markdown. And as a person who is trying out new models and leveraging AI in my day-to-day work, it’s really bothering me that OpenAI hasn’t fixed this yet.

Here is the actual bug - when you ask ChatGPT to produce any output which includes Markdown, it renders it in the browser or the app. If you prompt it to write it in a code block, you may succeed, but only if your prompt doesn’t include triple backticks. If it does, the moment it reaches the first closing triple backticks, it starts rendering everything again.

Here is how the following prompt is being rendered:

Prompt:

Give me an example README.md for an open source project which runs python script - this is a template for a python project, so include instructions on how to install new dependencies via requirements.txt, how to install and run the main script.

ChatGPT Markdown Rendering Bug

This is an issue with the o3-mini models, which are thinking models and they don’t currently support Canvas. Prompting the ChatGPT o4 model seems to be clever enough to open Canvas and then the issue is prevented.

However, as a programmer, I prefer the o3-mini-high since it’s a thinking model, which often performs better for coding tasks.

The only workaround I found so far is to prompt the model to replace the ``` with something else, for example <code>, and this would allow me to copy-paste it in my IDE and quickly replace it back with triple backticks using replace-all.

Here is my workaround prompt:

Give me an example README.md for an open source project which runs python script - this is a template for a python project, so include instructions on how to install new dependencies via requirements.txt, how to install and run the main script. Give the output in plain text format inside a code block, importantly change any occurrence of ``` inside the output with <code> instead.

ChatGPT Markdown Rendering Bug

Ideally, I’d love to see a feature in ChatGPT similar to how IDE plugins allow you to switch between pure-text and rendered Markdown or split screen when dealing with Markdown.

In conclusion, I wanted to showcase how Claude 3.7 Sonnet is handling this - it gives you a Canvas which renders the Markdown, but at the bottom of the screen, you still have the ability to copy the output, and when you paste it in your IDE, the actual Markdown syntax is preserved.

ChatGPT Markdown Rendering Bug

While this might seem like a minor inconvenience to some, for developers and technical writers who work with Markdown daily, it’s a significant friction point. I hope OpenAI addresses this soon, but until then, hopefully the workaround above will help you.