Terminal Setup
Indusagi uses the Kitty keyboard protocol for reliable modifier key detection. Most modern terminals support this protocol, but some require configuration.
Kitty, iTerm2
Work out of the box.
Ghostty
Add to your Ghostty config (~/.config/ghostty/config):
keybind = alt+backspace=text:\x1b\x7f
keybind = shift+enter=text:\n
WezTerm
Create ~/.wezterm.lua:
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
config.enable_kitty_keyboard = true
return config
VS Code (Integrated Terminal)
Add to keybindings.json to enable Shift+Enter for multi-line input:
{
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\u001b[13;2u" },
"when": "terminalFocus"
}
Windows Terminal
Add to settings.json (Ctrl+Shift+, or Settings → Open JSON file):
{
"actions": [
{
"command": { "action": "sendInput", "input": "\u001b[13;2u" },
"keys": "shift+enter"
}
]
}
If you already have an actions array, add the object to it.
IntelliJ IDEA (Integrated Terminal)
The built-in terminal has limited escape sequence support. Shift+Enter cannot be distinguished from Enter in IntelliJ's terminal.
If you want the hardware cursor visible, set INDUSAGI_HARDWARE_CURSOR=1 before running indusagi (disabled by default for compatibility).
Consider using a dedicated terminal emulator for the best experience.
