JSPM

claude-code-vietnamese-fix

2.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 35
  • Score
    100M100P100Q86746F
  • License MIT

Fix Vietnamese IME input (Unikey/Telex) for Claude Code CLI — supports npm and native binary

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (claude-code-vietnamese-fix) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    claude-code-vietnamese-fix

    Fix Vietnamese input (Telex/VNI) for Claude Code CLI — supports npm and native binary (WinGet/direct download).

    npm version License: MIT Platform Claude Code

    The Problem

    Vietnamese users cannot type in Claude Code CLI. Characters get duplicated or garbled.

    Expected: tôiActual: toôooi

    Vietnamese IME (Unikey, OpenKey, EVKey) embeds \x7f (DEL) chars in input strings. Claude Code's input handler inserts the entire string as-is, causing duplicate/garbled output.

    Quick Start

    npx claude-code-vietnamese-fix

    Then restart Claude Code.

    Other install options

    # Install globally
    npm install -g claude-code-vietnamese-fix
    claude-code-vietnamese-fix
    
    # Clone and run
    git clone https://github.com/tvtdev94/claude-code-vietnamese-fix.git
    cd claude-code-vietnamese-fix
    node patch-vietnamese-ime.js

    How it works

    The patch intercepts the existing \x7f detection point in Claude Code's input handler. It strips \x7f chars, inserts remaining chars one-by-one into the cursor state, then applies the final state atomically.

    Works for both:

    • npm install — patches cli.js directly
    • Native binary (WinGet, direct download) — patches the embedded JS inside the Bun binary

    Commands

    Command Description
    npx claude-code-vietnamese-fix Auto-detect and patch (creates backup)
    npx claude-code-vietnamese-fix --status Show patch/backup/hook status
    npx claude-code-vietnamese-fix --restore Restore original from backup
    npx claude-code-vietnamese-fix --silent Patch silently (no output if already patched)
    npx claude-code-vietnamese-fix --dry-run Test patch without saving
    npx claude-code-vietnamese-fix -f <path> Specify target file manually
    npx claude-code-vietnamese-fix -o <path> Write patched output to a new file

    Auto-patch After Updates

    Claude Code updates overwrite the patch. Add a SessionStart hook to auto-patch on every session:

    ~/.claude/settings.json:

    {
      "hooks": {
        "SessionStart": [
          {
            "matcher": "startup|resume|clear|compact",
            "hooks": [
              {
                "type": "command",
                "command": "npx claude-code-vietnamese-fix --silent"
              }
            ]
          }
        ]
      }
    }

    The script is idempotent — safe to run on every session start.

    Restore

    npx claude-code-vietnamese-fix --restore

    Compatibility

    Item Status
    Windows 10/11
    macOS
    Linux
    Unikey (Telex/VNI/VIQR)
    OpenKey / EVKey
    npm global install
    NVM for Windows
    Bun global install
    Native binary (WinGet)
    Native binary (macOS/Linux)
    Claude Code v2.x

    License

    MIT