Changelog

What's new in Kai

Release notes. Newest first.

  • v0.1.6 Latest Release

    Close the fixable KNOWN_LIMITATIONS items

    • Close the fixable KNOWN_LIMITATIONS items: live PTY kill tests (close_pty / close_all verified against the OS process table), symlink-dependent tests now report explicit skips with a reason, freshness detection also compares ctime and re-hashes racily-clean files so same-size edits with restored timestamps are caught, opt-in kai mcp --watch / KAI_MCP_WATCH=1 background graph refresh for pure-MCP clients, and release/CI targets for Linux .rpm, Windows ARM64 (NSIS) and macOS Intel.
    • More terminal shortcuts: Ctrl+Shift+A select all, Ctrl+Shift+K clear, Ctrl+Shift+Home/End scroll to top/bottom, Ctrl+=/Ctrl+-/Ctrl+0 zoom the font (this session), and Ctrl+1–9 jump to a tab (Cmd on macOS). Copy/paste (Ctrl+Shift+C/V) is unchanged and plain Ctrl+C still interrupts. The fixed shortcuts are listed read-only in Settings → Shortcuts.
    • kai run can now launch Windows .ps1 scripts directly: they run via powershell.exe -NoProfile -File (no shell, execution policy respected) instead of failing with spawn ENOENT.
    • Show a notice when a pane split is refused (8-pane cap or the minimum pane size) instead of silently doing nothing.
    • Fix Changes review dialog sizing: remove the minimize button, resize from any edge/corner like a normal terminal window, and make fullscreen work after a manual resize (the manual size no longer sticks around to override fullscreen). The footer branch badge is now display-only — the git Changes menu is removed.
  • v0.1.5

    New kai mcp command family for the local MCP server and agent wiring

    • kai mcp <agent|all> wires an agent (with --print, --dry-run, --force), kai mcp list shows server info and connection state, kai mcp remove <agent> unwires. Connected agents run the stdio MCP server automatically.
    • kai list -m / kai list --mcp reports MCP server state and tool connections; kai remove -m <agent> / kai remove --mcp <agent> disconnects a tool.
    • CLI help regrouped (Outside / Run / Manage / Check) to match the rewritten command reference.
    • Website: command reference grouped by topic (Open and close, Run tool, Setup & MCP, Project graph with init/update/status, Check), dedicated MCP page, floating Topics index with scroll-spy, and an inline GitHub link in the manual hero.
  • v0.1.4

    Code Mode Task Planning (kai_plan_task)

    • Code Mode Task Planning (kai_plan_task): Structured task planning engine (planCodeTask) with selected-file prioritization, dependency/caller/test expansion, freshness-gated context retrieval, and strict token budget enforcement.
    • Automated Graph Freshness & Lifecycle Sync: Guaranteed graph synchronization (runCodeTaskWithAutoSync, kai_sync_graph) on task completion, failure, or cancellation, featuring boundary verification, drift fallback, and concurrent rebuild deduplication with PID locks and generation guards.
    • External Agent Runner (kai run): Process execution wrapper for external coding agents (kai run -- <cmd>), preserving child exit codes, handling timeout (124) and cancellation (130), enforcing clean process tree termination (SIGTERM -> 2s -> SIGKILL, taskkill /PID /T /F on Windows), and triggering automated post-run graph synchronization.
    • Crash Consistency & Dual-Copy Verification: Atomic persistence with sequential write drift detection (checkPersistenceConsistency), synchronized status transitions across meta.json and index.json (markProjectGraphStatus), and automatic rebuild recovery.
    • MCP Freshness Contract & Auto-Refresh: Graph-dependent reads (kai_search_code, kai_find_symbol, kai_get_dependencies, kai_get_context) automatically gate freshness and execute bounded auto-refreshes when stale.
    • GPU WebGL Terminal Renderer: Integrated hardware-accelerated WebGL terminal renderer (@xterm/addon-webgl) for visible terminal panes, running at 60fps with automatic fallback to DOM rendering on context loss or failure, plus localStorage.kai_renderer="dom" opt-out.
    • High-Throughput PTY Buffering: Implemented FIFO TerminalOutputBuffer replacing O(n²) string concatenations, providing ~1800× higher throughput during large output floods (~10 MB) without freezing the UI. Increased PTY chunk reads to 32 KB.
    • Auto-Strip AI Co-Authors: Entering Code Mode (kai code .) installs a self-contained, POSIX-compliant commit-msg git hook into the target repository to automatically strip Co-authored-by: trailers on all future commits while safely preserving pre-existing hooks.
  • v0.1.3

    Windows Agent Detection & PATHEXT Resolution

    • Windows Agent Detection & PATHEXT Resolution: Probes PATH using PATHEXT to locate .cmd/.bat binaries, executing version probes cleanly through cmd /c without flashing console windows; GUI-based agents safely skip version checks.
    • Status Bar & Code Mode Synchronization: Real-time git status refresh button in footer; immediate Code Mode status sync upon terminal command execution; compact path display with copy button; footer jump button when Code Mode is active in another directory.
    • Desktop First-Launch CLI Integration: Desktop installers automatically configure and add the user-level kai launcher to user PATH on first startup.
    • CSP & Update Fixes: Added connect-src (https://api.github.com, ipc:, http://ipc.localhost) and img-src data: to Content Security Policy in tauri.conf.json; release links open in external OS browser.
    • Default Theme & Tab Color Polish: Resolved tab accent glow obscuring custom tab colors; synchronized Kali theme as default across frontend and backend; added kai doctor to audit Linux .desktop launcher entries.
  • v0.1.2

    Reorder footer status bar items to display active path first, followed by code mode, then git status and actions.

    • Automatic agent registration: kai agent setup <agent> now installs kai MCP wiring directly into the agent's own config file (JSON merge with .kai.bak backup, idempotent re-runs, --dry-run/--force/--print flags) instead of only printing a snippet. New kai agent setup all wires every system-installed agent at once, kai agent register aliases setup, and kai agent list reports per-agent kai wiring state. The desktop AI providers panel shows wiring status with one-click Auto-wire backed by new setup_agent_mcp_cmd / get_kai_cli_launch_cmd IPC commands. Aider and opencode use verified config shapes (mcpServers in ~/.config/aider/mcp.json, mcp local entry in ~/.config/opencode/opencode.json).
    • Slim toolbar and footer: removed the toolbar New Session button (use TabBar + / Ctrl+Shift+T), the Recent dropdown, the top git badges, the top Code Mode pill, and the Clear button — git branch, project directory, and Code Mode (now an explicit exit toggle button) live only in the bottom status bar. AI providers panel: dropped per-provider Auto-wire buttons (kai wiring is auto-detected read-only), redesigned provider cards with proper spacing, added a Re-detect button. Detection fix: desktop probing now also covers well-known install locations (~/.local/bin, ~/.opencode/bin, ~/.cargo/bin, nvm node bins, /usr/local/bin, …) so GUI launches with a minimal PATH still find user-installed CLIs, added the agy CLI to the catalog plus extra binary aliases (claude-code, cursor-agent, opencode2, github-copilot).
    • Refine split terminals: remove per-split pane headers, display active terminal directory as selectable text in footer status bar, sync Code Mode and Git status on pane click, and replace borders with a subtle 1px hairline separator.
  • v0.1.1

    Expand AI coding agent ecosystem and harden MCP stream and retrieval staleness

    • Expand AI coding agent ecosystem and harden MCP stream and retrieval staleness:
    • Add verified agent setup generators for Gemini CLI, GitHub Copilot (VS Code), Windsurf, and Cline alongside Claude Code, Cursor, and Codex (kai agent setup <agent>).
    • Expand Rust desktop AI CLI auto-detection catalog to 6 tools (codex, claude, gemini, opencode, copilot, aider) with non-intrusive local auth checks.
    • Add stream-level BoundedLineTransform to MCP stdio server to reject oversized requests (>10MB) before buffer accumulation.
    • Add real-time file staleness detection in context retrieval comparing live disk SHA-256 with index metadata.
    • Track inode change timestamps (ctimeMs) alongside mtime and size in indexer.
    • Support orphaned project index cleanup by 16-hex hash ID when meta.json is missing or corrupted.
    • Enforce strict allowlist for kai config get keys, bound task classifier inputs to 4,000 characters, and validate LSP command names.
  • v0.1.0

    Native Rust Portable-PTY Core

    • Native Rust Portable-PTY Core:
    • Native pseudoterminal integration via portable-pty crate.
    • ConPTY subsystem support on Windows 10/11 with sub-millisecond ANSI throughput.
    • POSIX pty streaming on macOS and Linux with isolated per-tab process trees.
    • GPU Canvas Terminal Rendering:
    • Tauri 2 desktop shell with GPU-accelerated @xterm/xterm canvas renderer running at 60fps.
    • ~30MB idle RAM footprint (10× lighter than Electron-based terminals).
    • Split pane layouts (up to 4 panes per tab) with independent cwd and pty channels.

Download Kai

Installers for macOS, Linux and Windows are on the download page and GitHub Releases.