Not currently. Kaku is macOS-only while the macOS experience is being polished. Windows and Linux may come later.
Yes. Add to ~/.config/kaku/kaku.lua:
local config = require("kaku").config
config.window_background_opacity = 0.92
config.macos_window_background_blur = 20 -- optional blur, 0–100
return configconfig.copy_on_select = falseAppend to config.keys — do not replace it:
config.keys[#config.keys + 1] = {
key = "RightArrow",
mods = "CMD|SHIFT",
action = wezterm.action.ActivatePaneDirection("Right"),
}See keybindings.md and configuration.md for more examples.
Yes, individually for windows, tabs, and splits:
config.window_inherit_working_directory = true
config.tab_inherit_working_directory = true
config.split_pane_inherit_working_directory = trueAll are enabled by default.
Run kaku ai, open Kaku Assistant settings, and set Enabled to Off. Or edit ~/.config/kaku/assistant.toml directly:
enabled = falseRun kaku ai, select "Custom" from the Provider dropdown, and enter your base URL and API key manually. The URL must be OpenAI-compatible (/v1/chat/completions).
kaku resetThis overwrites ~/.config/kaku/kaku.lua with defaults.
/Applications/Kaku.app/Contents/MacOS/kaku init --update-only
exec zsh -lThen run kaku doctor to verify everything is healthy.
kaku cli split-pane
kaku cli split-pane -- bash -c "echo hello"
kaku cli --helpSee cli.md for full reference.
Open kaku config and toggle the scrollbar option, or add to ~/.config/kaku/kaku.lua:
config.enable_scroll_bar = trueFont changes require explicitly setting config.font in your config:
config.font = wezterm.font('Your Font Name')Note: Kaku's theme-aware font weight system only applies to the default JetBrains Mono stack. Once you set a custom font, Kaku will no longer override its weight automatically.
window_padding values require a 'px' unit suffix:
config.window_padding = { left = '24px', right = '24px', top = '40px', bottom = '20px' }Plain numbers (without 'px') are interpreted as terminal cell units, which may not match your intent.
This is a known interaction between trackpad scroll and Claude Code's streaming output. If you accidentally scroll to the top mid-stream, pressing the down arrow or scrolling back down returns you to the current output. A fix for the jump behavior has been tracked and shipped in recent releases.
The yazi remote-files feature (Cmd+Shift+R) is designed for SSH sessions and mounts the remote filesystem via sshfs. Cmd+Shift+Y is for local yazi. Use Cmd+Shift+R when you are inside an SSH pane.
Make sure the Kaku fish/zsh shell integration is sourced. Check with kaku doctor. The y wrapper requires the shell init to be loaded — a bare yazi call will not sync the directory.
There is an older unrelated package named kaku on Homebrew. Install Kaku with the tap to avoid conflicts:
brew install tw93/tap/kakukuIf you see checksum errors with kaku update, use brew upgrade tw93/tap/kakuku directly.
Kaku's notification permission may not be granted. Go to System Settings > Notifications > Kaku and enable Allow Notifications. Then restart Kaku.
Cmd + Opt + Ctrl + K uses the physical QWERTY K position. On Colemak, this corresponds to a different key. Remap it in your config:
table.insert(config.keys, {
key = 'k', -- adjust to your layout's physical key
mods = 'CMD|OPT|CTRL',
action = wezterm.action.EmitEvent('toggle-global-window'),
})Kaku is compatible with yabai and AeroSpace. If you see continuous flickering, it is usually caused by the tiling WM fighting with Kaku's fullscreen/resize logic. Disabling Kaku's native fullscreen (config.native_macos_fullscreen_mode = false) or excluding Kaku from the tiling WM's managed window list typically resolves it.