That one where a Slack quotes formatting screws your code up again...

That one where a Slack quotes formatting screws your code up again...

Table of Contents

Beautiful Edit: I’ve upgraded to macOS 15.4 (24E248) and the slack native client appears to be honouring the system config!

defaults write NSGlobalDomain Thank you to Michael Schwegel!

Prior: If you’ve ever copied and pasted code snippets to and from Slack, only to find that your code chokes when you excute it, you’re not alone.

The largest culprit? Slack’s auto-formatting of plain double quotes (") into “smart quotes” (“ and ”). We got bit by one during a high stakes database operation just this week!

While this might make your writing look prettier in chat (hot take: it doesn’t), it wreaks havoc in programming. Code expects plain ASCII characters, and these curly quotes are entirely different Unicode characters. They can silently break scripts, JSON, shell commands, and config files — and are especially maddening because they look so similar.

What’s actually happening?

Slack tries to help by auto-replacing straight quotes with typographically correct curly quotes. This is arguably great for English prose, but disastrous for code — especially when you’re copying something like:

{ “name”: “Paul” }

This looks fine, but your JSON parser will choke on it.

{ "name": "Paul" }

^^ This is what you wanted. Typography be damned!

Is there a fix?

Not really. At time of writing, Slack doesn’t provide a setting to turn this off in messages — but code blocks (i.e. wrapping in ```) will work.

you could also set some formatting rules in your editor (see what i did with CSS in this page???), or do something like this:

def fix_quotes(text):
    return text.replace("“", '"').replace("”", '"').replace("‘", "'").replace("’", "'")

but I find myself using find/replace.

Related Posts

Cold Mountain: remaining a person beyond

Cold Mountain: remaining a person beyond

Han Shan got it right centuries ago - fled to Cold Mountain, made friends with deer, used the moon as his lamp. Not abandoning humanity, but transcending it by …

Read More
Turn any video into text with this simple Bash script

Turn any video into text with this simple Bash script

A simple 15-line bash script that transcribes videos locally using OpenAI Whisper. No cloud services, no subscriptions.

Read More

Get new posts via email

Intuit Mailchimp

Copyright 2024-infinity, Paul Pereyda Karayan. Design by Zeon Studio