A little less lost in translation

Your language.
Your coding agent.
One conversation.

Think in your language. Build with your favorite agent. Sermo translates your prompts and replies, right inside the terminal.

Open source · No API key needed by default

Two agents. The same understanding. Click the back card to switch
Claude Code v2.1.306
Opus 5.5 · Claude Pro ~/projects/hello-world

帮我给这个函数加上错误处理

Add error handling to this function.

I’ll add a try/catch block and return a helpful error message if the request fails.

我会添加 try/catch 代码块,并在请求失败时返回清晰的错误信息。

try {
const data = await fetchData();
return data;
} catch (error) {
throw new Error('Request failed');
}
◐ medium · /effort
Translation: on
Try a language
Scripted demo · no model connected
Made for the way you already work
Claude CodePiYour terminal. Your models. Your flow.

A conversation, without the extra step

Less translating.
More creating.

Stop switching tabs to find the right words. Sermo handles the language in both directions, so you can focus on what you’re building.

You write naturallyIdeas in your own words
“帮我修复这个 bug”
Sermo translatesPrompts out. Replies back.Quietly in the background
Your agent buildsEnglish in the conversation
“Help me fix this bug”

Reply translations stay in the display layer. Your agent’s context stays unchanged.

Small extension. Thoughtful details.

Fits right into your flow.

Explore the docs

Write like yourself.

Your prompts become English before they reach the agent. With a model provider, English prompts get a grammar check, too.

Read with confidence.

Translations sit beside the original replies. Follow explanations and, in Pi, expanded thinking in the language you know best.

Your code stays code.

Code blocks, file paths, logs, and error messages stay as they are. Translate the explanation, keep the technical details.

One shortcut. Both views.

Press Ctrl + Y to show or hide translations. The original is always right there when you need it.

Choose your translator.

Start with Microsoft, with no API key to add. Or use your session model, an OpenAI-compatible service, or a local model.

Make yourself understood.

Chinese, Japanese, Korean, Spanish, French, and more. Set your preferred language once, and keep the conversation going.

Up and running in a minute

A small install.
A more natural conversation.

Pick your agent, install Sermo, and start talking.
No new app. No new workflow.

View the source on GitHub
Run in your terminal
claude plugin marketplace add jhao0413/sermo
claude plugin install sermo-translate@sermo

Requires Claude Code v2.1.287 or later with the mods API.

Restart Claude Code. Sermo is on by default.

A few things you might wonder

Good questions.

Does Sermo change my agent’s context?

Outgoing prompts are translated into English before being sent. Reply translations are only shown on screen; they aren’t added to the conversation history or sent back to the agent. If prompt translation fails, Sermo sends the original.

Do I need an API key?

No key is needed for the default Microsoft translation provider. You can also use your session’s model credentials or configure an OpenAI-compatible endpoint, including a local model. Translation text is sent to your selected provider.

Can I turn translation off?

Use Ctrl+Y or /translate to show or hide reply translations. To stop both prompt and reply translation, run /translate off. Run /translate on to enable them again.

Which languages can I use?

Simplified Chinese is the default. Set the lang option to your language code, such as ja, ko, es, fr, de, or zh-Hant. Available languages depend on your translation provider. Outgoing prompts are always translated into English.

Good ideas speak
every language.

Bring yours to the conversation.

Get started with Sermo Built for Claude Code and Pi. Open to everyone.