---
name: no-emojis
description: Never use emojis in code, scripts, config, or output; use ASCII markers instead
applies-to: all
---

# No Emojis — Ever

Never use emojis in code, scripts, config files, log messages, or output strings.

## Rationale

Causes PowerShell parsing errors, encoding issues, and terminal rendering problems. PowerShell profile scripts that interact with emoji characters can trigger codepage changes (`chcp 65001`) which alter the Claude Code CLI font and break rendering. Emoji bytes can also corrupt log files that are read by tools expecting ASCII or Latin-1.

## Use instead

```
[OK] [SUCCESS] [INFO] [WARNING] [ERROR] [CRITICAL]
```

These are the mandatory ASCII status markers for all scripts, tools, session logs, commit messages, and any output visible in a terminal or log file.

## Exception

User-facing web UI with proper UTF-8 handling. If a React component or HTML page is intentionally rendering emoji for end users, that is acceptable. The prohibition is on everything else: server logs, CLI output, scripts, config files, PowerShell, Bash, Python print statements, and any text that may flow through a terminal.

## Scope

This applies to:
- All scripts (PowerShell, Bash, Python)
- Config files (YAML, TOML, JSON comments)
- Log messages and print statements
- Git commit messages
- Markdown documentation in `.claude/`
- Syncro ticket comments
- Session logs
- Any output written to a terminal or log file
