Table of Contents
First, Thank You
Seriously. Thank you.
You're volunteering your time to help keep this community a welcoming place for people who are just getting started with the terminal and for those who have been tweaking their prompt for a decade. That matters to us.
Oh My Zsh has always been about making the command line more approachable. Your role as a moderator is an extension of that. You're helping people feel comfortable asking questions, sharing their configs, and geeking out about shell stuff without worrying about spam or jerks ruining the vibe.
These guidelines aren't a rulebook to memorize. They're here to help when you need them. We trust your judgment. If something feels off, it probably is. And if you're ever unsure about how to handle a situation, reach out to one of the maintainers. We'd much rather chat through a weird situation with you than have you stress about it alone.
Now, let's get into it.
Your Role (It's More Than Just Banning Spammers)
Yes, part of your job is zapping spam bots and keeping things tidy. But honestly? That's the boring part.
The more interesting part is just being here. Hanging out. Helping people.
The fun stuff:
- Chat about terminals, configs, that one theme you're obsessed with
- Point folks to useful GitHub discussions, issues, and PRs when they come up
- Welcome newcomers (we were all confused about zsh vs bash at some point)
- Share your config in #config-showoff (you know you want to)
- Answer questions when you can, or point people toward someone who might know
The housekeeping stuff:
- Remove spam before it clutters up the good conversations
- Nudge off-topic discussions to the right channels
- Step in when things get heated
Think of yourself as a friendly neighbor who happens to have the keys, not a security guard standing at the door.
The Toolbox
Here's what you've got to work with:
| Action | When to Use It | Log It? |
|---|---|---|
| Delete | Spam, wrong channel | No |
| Friendly nudge | "Hey, #offtopic might be better for this!" | No |
| Formal warning | Clear guideline violations | Yes |
| Mute | Someone needs a breather | Yes |
| Kick | They can come back, but need to reset | Yes |
| Ban | Spammers, bots, bad actors | Yes |
Insta-Ban Territory
Some stuff doesn't require a conversation. No warning needed for:
- Spam bots (crypto schemes, "earn $100k from home," gambling promos)
- NSFW content
- Harassment, slurs, or hate speech
- Honeypot catches (#do-not-post-here does what it says)
- Scam links (those Telegram "opportunities" are never opportunities)
- Raid participants
You know spam when you see it. Trust your gut.
For the record, all of this falls under our Code of Conduct, which applies to the Discord just as much as it does to the GitHub repo.
Pause Before You Swing
Here's something that has happened more than once: a long-time member suddenly posts crypto spam or gambling links.
Before you assume the worst, consider that their account might be compromised. It happens. A lot, actually.
Here's how to handle it:
- Ban to stop the spam (protect the community first)
- DM them: "Hey, your account might be compromised. We banned it to stop the spam. Let us know when you've secured it and we'll get you back in!"
- Unban once they've confirmed they've changed their password
A little grace goes a long way. These are real people who might just be having a bad day on the internet.
Warning First
For stuff that's annoying but not malicious:
- Off-topic posts in focused channels like #ohmyzsh or #zsh
- Self-promotion that feels spammy
- Being dismissive or rude to newcomers
- Borderline weirdness that doesn't quite cross a line
A friendly "hey, not here please" usually does the trick. Most people are reasonable and will course-correct.
If they keep going after that? Escalate. You gave them a chance.
When It's Weird
Not everything fits neatly into a category. Sometimes you'll encounter something that makes you pause. Maybe it's a rambling off-topic rant that isn't technically spam but definitely doesn't belong. Maybe it's someone being subtly rude in a way that's hard to pin down.
General approach:
- Remove the content (you can always discuss it after)
- Bring it up in #general if you want input from other mods
- Note what you did in #mod-actions with your reasoning
There's no perfect answer for every situation. Do your best. We've got your back.
And seriously, if you're not sure? Ask. That's what the maintainers are here for.
Logging in #mod-actions
For formal warnings, mutes, kicks, and bans, drop a note in #mod-actions so we're all on the same page.
Keep it simple:
Banned @spambot2000 - crypto spam in #ohmyzsh
Warned @someone - off-topic rant, deleted
Include a screenshot when it helps tell the story.
Don't bother logging:
- Routine spam cleanup
- "Wrong channel" redirects
- Honeypot auto-bans (the bot handles those)
The Honeypot (#do-not-post-here)
It does exactly what it says on the tin. If someone posts there, they clearly didn't read the rules. The bot handles bans automatically.
If you spot a false positive (rare, but it happens), reverse the ban and note it in #mod-actions.
Channel Vibes
Different channels have different expectations:
| Channel | What's Expected |
|---|---|
| #ohmyzsh, #zsh, #other-shells | Focused. Actual shell questions and discussions. |
| #config-showoff | Show us your beautiful prompts! |
| #terminal-emulators | iTerm vs Alacritty vs Kitty debates welcome |
| #programming, #tech | Dev talk, but not general IT support |
| #offtopic, #memes | Let loose (within reason) |
| #project-showoff | Self-promo is encouraged here |
| #meta | Community discussion |
Being Part of the Community
You're a moderator, but you're also just... here. Like everyone else. And that's the point.
- Answer questions when you can. You don't need to know everything. But if you know where the answer lives (a GitHub issue, a wiki page, a previous discussion), point people there. That's incredibly valuable.
- Link to GitHub resources. "There's actually a PR for that!" or "Someone filed an issue about this, you might want to add a 👍" are the kinds of responses that help people feel like they're part of something bigger.
- Be patient with newcomers. "Just read the docs" is technically correct but it's not exactly welcoming. A quick pointer goes further.
- It's okay to just hang out. You don't always have to be "on." Chatting about your favorite theme or complaining about terminal rendering bugs is community-building too.
The Golden Rules
- Assume good intent. First-time weirdness is usually a misunderstanding, not malice.
- Act, then discuss. Remove the bad stuff first. You can always talk it through after.
- Document patterns. One iffy post isn't bannable. A pattern is.
- You're not alone. Use #general or ping a maintainer anytime.
- Trust yourself. You're here because we trust your judgment. So should you.
Code of Conduct
Everything here is grounded in our Code of Conduct. If you haven't read it recently, it's worth a quick refresher. It applies to Discord just as much as GitHub.
Thanks for being here. You make Oh My Zsh better.
- Home
- FAQ
- Plugins Overview
- Themes Overview
- Documentation
- Community
- Contributing
We have other stuff, have a look!
Homepage — Website — Merchandise — Discord — X (Twitter) — BlueSky — Mastodon

