Feature request: custom slash commands for localization (i18n via .codex/commands/)
Feature request: custom slash commands for CLI localization
Problem: Codex CLI commands are hardcoded in English (/init, /plan, /review, etc.). Non-English speakers have to memorize English command names, which creates a language barrier.
Solution: Support custom slash commands via a directory of .md files (e.g. .codex/commands/). Each file acts as an alias: the filename is the command name, the content tells the AI what to do.
How it works (proven in Claude Code)
.codex/commands/
├── очистить.md → "Clear context (/clear). Perform a full session clear."
├── план.md → "Planning mode (/plan). Enter architecture planning."
├── коммит.md → "Commit (/commit). Run git add + git commit."
└── ...
When user types /очистить, the AI reads очистить.md and executes the instruction — same as /clear.
Benefits
- Zero core changes — no need to modify Codex CLI internals
- User-defined — anyone can create commands without waiting for a release
- Any language — Russian, Chinese, Arabic, etc.
- Learning effect — English original in parentheses (
(/clear)) helps users learn the original commands over time
Minimal spec
Mechanism:
- User types /<command_name>
- CLI looks for <command_name>.md in .codex/commands/
- If found → content passed to AI as instruction
- If not found → fallback to built-in commands
Requirements:
- Format: Markdown (.md)
- Filename = command name (any Unicode — Cyrillic, CJK, etc.)
- Content: free text interpreted by AI
Working example
32 Russian commands implemented in Claude Code:
https://github.com/Misha-42/soda-ml-carbonation-control → .claude/commands/
Impact
This is a zero-cost localization feature. It doesn't require translating the CLI itself — users localize it themselves. For Russian-speaking developers alone (millions on GitHub), this removes a significant UX barrier.
---
Author: Misha-42, ML engineering student, Ufa, Russia.
Created as part of carbonation-control ML project.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗