« All posts

aeovim: Orchestrating Claude Code agents like Neovim

aeovim is a Rust TUI that applies Neovim's modal, split-based workflow to LLM coding agents, letting developers orchestrate multiple Claude Code sessions from the keyboard.

aeovim is a standalone Rust terminal UI that reapplies Neovim's modal editing model — modes, motions, buffers, splits — to the problem of running multiple LLM coding agents at once. Its first version wraps the claude CLI as child processes over headless stream-json, reusing Claude Code's own auth, permissions, tools, skills, and MCP servers rather than reimplementing them. The codebase, around 3,200 lines across seven modules, already drives real multi-turn Claude Code sessions in daily use.

Today it supports grouping 1-4 chats into named 'Spaces', vim-style pane navigation, session persistence tied to tmux sessions, and a FIFO-based pipe that lets one agent message another Space. Permissions default to a 'dangerous' skip-approval mode, with a safer --safe flag available.

Still on the roadmap: fanning a single prompt out to N agents each isolated in its own git worktree as first-class jobs, a task board with status tracking, vim-native diff review with hunk-level approve/reject, and a persistent bidirectional child process enabling in-TUI interrupts and mid-turn steering. Though built as a single-user local tool, aeovim is notable for engineers as a concrete example of bringing a familiar editor mental model to multi-agent orchestration.