跪拜 Guibai
← All articles
OpenAI · Claude · Artificial Intelligence

Kaku Puts Claude Code and Codex Side by Side in a Single Terminal

By 沉默王二 ·
Read original on juejin.cn ↗ Google Translate ↗ Alt translation

As coding agents move into the terminal, a purpose-built emulator that integrates them alongside Git, file management, and multi-pane broadcast input removes the friction of stitching together separate tools. Kaku's opinionated defaults also lower the setup tax that has kept iTerm2 powerful but tedious to configure.

Summary

Kaku is a Rust-based terminal emulator for macOS, deeply customized from WezTerm, that ships with sensible defaults—JetBrains Mono font, a curated color scheme, and zsh plugins—so it looks polished out of the box. A `kaku ai` command wires up OpenAI Codex and Anthropic Claude Code directly into the terminal; hitting `Cmd+L` opens an AI chat panel that can ingest the current working directory, the visible terminal output, or selected text as context.

Beyond AI, Kaku bundles tools that terminal users typically install themselves: Lazygit for visual Git operations, the Yazi file manager, fuzzy directory jumping, SSH remote file mounting, and broadcast input that sends keystrokes to every split pane simultaneously. A configuration TUI (`kaku config`) exposes adjustments for transparency, fonts, and keybindings.

The terminal's split-pane design enables side-by-side agent comparisons. One demo feeds an identical creative frontend prompt to Claude Code in the left pane and Codex in the right, producing a full interactive exhibition site with physics-based character curtains and Web Audio sound effects in about 15 minutes.

Takeaways
Kaku is a macOS-only terminal written in Rust, based on WezTerm, and licensed under MIT.
Installation is a single Homebrew command or a DMG drag-and-drop.
AI integration supports OpenAI Codex and Anthropic Claude Code; `Cmd+L` opens a chat panel, and `Shift+Tab` switches models.
Context can be attached via `@cwd` (project overview), `@tab` (terminal screen), or `@selection` (highlighted text).
Built-in tools include Lazygit (`Cmd+Shift+G`), the Yazi file manager (`Cmd+Shift+Y`), fuzzy directory jumping, SSH remote mounting, and broadcast input (`Cmd+Opt+I`).
A configuration TUI (`kaku config`) adjusts transparency, fonts, and shortcuts.
Split panes (`Cmd+D`) let two AI agents run side by side with the same prompt for direct comparison.
A 15-minute demo had Codex generate a full interactive website with physics-based character curtains and Web Audio sound effects from a single detailed prompt.
Kaku has 5,600 GitHub stars and official documentation at kaku.fun.
Conclusions

Kaku inverts the iTerm2 philosophy: instead of a blank slate that demands hours of customization, it ships with curated defaults that look good immediately, then exposes a TUI for tweaks.

Baking Lazygit and Yazi directly into the terminal acknowledges that modern terminal workflows revolve around Git and file browsing as much as shell commands.

Broadcast input across panes is a small feature with outsized leverage—it turns a terminal into a multi-agent control surface where one command hits Claude Code and Codex simultaneously.

Side-by-side agent comparison in a single window makes model selection tangible; you can watch two agents interpret the same prompt and judge output quality in real time rather than running sequential experiments.

The reverse-prompting trick—feeding a desired visual effect to an agent and asking it to reconstruct the prompt—flips the typical workflow and treats the agent as a design-spec extraction tool.

Concepts & terms
WezTerm
A GPU-accelerated terminal emulator written in Rust, known for Lua-based configuration and cross-platform support. Kaku uses it as a foundation and layers AI integration and bundled tools on top.
Lazygit
A terminal UI for Git that visualizes staging, commits, branches, and rebasing without requiring memorization of Git commands.
Yazi
A terminal file manager written in Rust with asynchronous I/O, supporting image and code previews directly in the terminal.
Broadcast input
A terminal feature that sends the same keystrokes to all open split panes simultaneously, useful for running identical commands across multiple servers or AI agent sessions.
Source: juejin.cn ↗ Google Translate ↗ Backup ↗