A Claude Code plugin for language learning. Analyzes your prompts in real-time and provides corrections and suggestions.
- Grammar & Spelling Correction - Catches errors and explains what's wrong
- Translation - Translates non-English text (Korean, Japanese, etc.)
- Alternative Suggestions - Offers better ways to phrase things
- Smart Filtering - Skips code, commands, and brief confirmations
- Session Awareness - Avoids repeating similar suggestions
All modes use identical Claude-powered analysis—the difference is timing and presentation.
Prompts are queued for background analysis with no immediate feedback. The background processor runs every 30 seconds (configurable via queueIntervalMs), analyzing batches of prompts and saving results to the database. Use MCP tools to review stored analysis later. Best for passive learning with minimal distraction.
Output: None—prompt continues immediately.
Analysis happens immediately when you submit a prompt (adds 1-3 seconds delay). Feedback appears as an inline system message, then your prompt continues to Claude automatically. Results are cached for 5 minutes to avoid re-analyzing identical prompts. Best for active learning while maintaining workflow.
Output by response type:
- Correction: Comprehensive summary to stderr, corrected text in system message
📝 Lingo Correction: Use past tense "went" and add the article "the" before "store". ────────────────────────────────────────────────── 📝 Lingo Correction: I went to the store yesterday - Translation: Translated text in system message
🌐 Lingo Translation: Hello, how are you? - Alternative: Explanation to stderr, suggested text in system message
💬 Lingo Alternative: This phrasing sounds more natural in casual conversation. ────────────────────────────────────────────────── 💬 Lingo Alternative: Can you help me with this? - Comment: Explanation in system message (no corrected text)
📝 Lingo Comment: Adding "please" would make this sound more polite.
Same immediate analysis as non-block (1-3 seconds delay), but corrections and translations display a blocking dialog requiring acknowledgment before continuing. Shows all detected issues with detailed explanations (not just the first one). Comments and alternatives remain non-blocking. Best for focused learning where you want to review every correction.
Output by response type:
- Correction: Blocks with all explanations and corrected text
📝 Lingo Correction - Verb tense: Use past tense "went" for actions that happened yesterday - Subject verb agreement: Match verb form to subject Improved prompt: I went to the store yesterday - Translation: Blocks with translated text
🌐 Lingo Translation Hello, how are you? - Alternative/Comment: Same as non-block (non-blocking)
Install from the Claude Code marketplace:
/plugin marketplace add unsafe9/my-terminal
/plugin install lingo
The server starts automatically via pm2 when you open Claude Code.
Config file: ~/.config/lingo/config.json
The config file supports hot-reload—changes take effect immediately without restarting the server.
Via MCP in Claude Code:
Update lingo config: mode block, language Japanese
Via direct file edit:
{
"language": "English",
"mode": "non-block",
"model": "haiku",
"tone": "balanced",
"claudeExecutablePath": "",
"queueBatchSize": 5,
"queueIntervalMs": 30000,
"logLevel": "info",
"autoCopyCorrections": false
}| Option | Default | Values | Description |
|---|---|---|---|
language |
English |
Any language (2-20 chars) | Target language you're learning |
mode |
non-block |
silent, non-block, block |
Feedback mode (see Operating Modes) |
model |
haiku |
haiku, sonnet, opus |
Claude model for analysis. Haiku is fast and cheap; Sonnet/Opus for higher quality |
tone |
balanced |
casual, balanced, professional |
Feedback style. Casual is friendly, professional is formal |
claudeExecutablePath |
"" |
Path string | Custom path to Claude CLI executable. Leave empty for auto-detection |
queueBatchSize |
5 |
1-50 | Number of prompts to process per batch in silent mode |
queueIntervalMs |
30000 |
1000-300000 | Interval between background queue processing (ms). Only used in silent mode |
logLevel |
info |
debug, info, warn, error |
Server log verbosity |
autoCopyCorrections |
false |
true, false |
Automatically copy corrected text to clipboard |