Supported Languages
Automatic Detection
The language is automatically detected from system environment variables, in the following priority order:
If no variable is set or the language is not supported, the interface will be displayed in English by default.
Force a Language
To force a specific language, setCHATCLI_LANG in the .env file or in the environment:
Coverage
The i18n system holds 1925 translation keys covering all user-facing strings (parity acrossen.json, en-US.json, and pt-BR.json). Every new user-facing string introduced in code goes through i18n.T() wrapping — a mandatory rule for any command handler, prompt.Suggest autocomplete entry, or user-visible error message.
As of the April 2026 i18n sweep, every slash command (
/hooks, /mcp, /worktree, /cost, /channel, /websearch, /config + subsections, /skill, /agent, /memory, /session, /switch, /context, /auth, /plugin) and the CLI autocomplete are 100% routed through i18n.T. Hardcoded PT/EN strings inside fmt.Println or colorize(...) count as a conformance bug.What Is Translated
- Interactive menus and prompts
- Status and progress messages (including history-compactor pipeline phases: trim, summarize, emergency)
- Command help (
/help) - Error messages and warnings
- Agent mode UI (execution plan, actions)
- Coder mode feedback
- Pre-flight and payload-recovery messages (413/WAF/EOF) with specific labels per failure type
- Server and remote connection messages
- Session, context, and plugin commands
- K8s Watcher and Operator notifications
Main namespaces
Special pattern for AI instructions
Theai.response_language key is a meta-instruction written in English across all locales (including pt-BR), which tells the AI to respond in the user’s language. Intentional: LLMs follow English instructions with much higher fidelity, so the prompt that asks for “respond in pt-BR” is itself in English. The response content, of course, comes out in pt-BR.
This instruction is appended to the system prompt across all three modes (chat, agent, coder), together with a [ACTIVE MODE: ...] block that tells the AI which mode it’s operating in. See cli/prompts.go and cli/cli_llm.go.
AI responses are in the language you use in the conversation — i18n controls both the ChatCLI interface and the meta-prompt that instructs the AI. The actual content the LLM generates depends on the model following the instruction (which 4.x models do very well).