v2.0.0
Kaimon v2.0.0
Kaimon gives an AI agent a live Julia REPL over MCP: run code, introspect types
and methods, drive the debugger, run tests, and search code against the running
session. 2.0 reworks search and the session model, changes how agents connect,
and splits the gate into its own lightweight package.
Breaking changes
This is a major, breaking release — the highlights below are the full changelog,
but the changes most likely to affect an existing setup are:
qdrant_search_codeis renamed tosearch_code(now backend-agnostic and
hybrid by default). Update anything that referenced the old tool name.- The default tool surface is tightened (~68 → ~49 tools); several advanced
tools are now gated off by default and must be explicitly enabled per project.
A standalone gate: KaimonGate
The session and eval machinery now lives in KaimonGate, a separate package with a
small, tightly constrained dependency set. It is easy to add to your own project
or session without pulling in all of Kaimon, and spawned agent sessions boot it
instead of full Kaimon, so a session never recompiles Kaimon against your project.
Search
grep_codeis a native MCP grep: an exact pattern or regex over the live
working tree that returns the enclosing function or struct for each hit. It is a
safer, clearer alternative to the piped grep/awk/sed bash commands models
otherwise reach for, and much easier to read when you are watching what the
agent runs. It is confined to the project scope by default.search_codefinds code by meaning, now fusing vector similarity with a local
SQLite FTS5 index, so results hold up whether you describe the behavior or
remember an exact identifier.- Both are repo scoped, respect
.gitignore, and take opt-in metadata filters.
grep_codecan include logs and generated files on request.
Sessions
Agents bind to the right gate from their workspace root, start_session reuses a
running gate instead of spawning a duplicate, and a new project is approved from a
prompt inside your client instead of by editing JSON (allow_any_project covers
container and VM setups).
Long work that does not block
Any eval past about thirty seconds becomes a background job with progress and
cancellation, and it survives a restart.
Agent backends
The supported agent is Claude today, built to speak ACP so other agents can plug
in soon. New and still experimental: local model backends (MLX and an in-process
Ollama loop) for keeping inference on your own machine.
CURVE encryption, and a path to TachiRei
The gate transport can run CURVE encrypted over ZMQ, with key management and a
trust store in the TUI, which opens up secure connectivity across a network. It
also lays the groundwork for TachiRei.jl, a platform for persistent remote Julia
sessions and applications that people and multiple agents can connect to at once
(coming soon).
KaimonSlate
A browser-based notebook (a "slate") built on Kaimon's extension system, where you
and an agent build and run cells in the same document, with doc search and PDF
export. It ships separately as
KaimonSlate.jl.
Windows and headless
Windows support: the gate uses TCP in place of IPC. Headless parity: the same
analytics, indexing, housekeeping, and clean shutdown as the TUI.
Stability and performance
The ZMQ transport was rewritten (persistent DEALER/ROUTER, event driven messaging,
adaptive timeouts), lowering reply latency and idle CPU, and a broad pass closed a
long list of stability issues from the 1.x line.
Thanks
To the contributors who shipped code in this release:
- @KristianHolme — Wayland clipboard support (#1) and Cursor / opencode client support (#2)
- @haakon-e — manual gate restart from the REPL and TUI (#17), and the detailed Infiltrator report behind #34
And to everyone whose issue reports shaped 2.0: @jonalm (#55), @Eben60 (#56),
@ufechner7 (#36, #37), @mind6 (#41), @csvance (#42, #46), @jeffwack (#47),
@brendanjohnharris (#50), and @1-Bart-1 (#51).
Closed issues:
- Split Gate into minimal standalone package (KaimonGate.jl) (#20)
- custom server port not respected (#27)
- Suggestion: add
kaimon_connectcommand (#28) - kaimon crash report (#29)
- Infiltrator still rerouted/hangs after
Gate.stop(#34) - Stale session JSON survives MCP-shim restart, silently breaks
ex(PUB port mismatch) (#35) - Improve documentation for usage with VSCode (#36)
- Search index not persistent (#37)
- Step-by-step installation, use and removal? (#39)
- Kaimon cache path w/ XDG_CACHE_HOME handling inconsistent (#42)
- Managed session log file is never written (#43)
- Should lax mode disable the project check? (#46)
- Spawned session subprocess can't recompile Kaimon when target project's manifest invalidates the precompile cache (#47)
- Kaimon crashes on startup on Windows (opening file "/dev/tty") (#49)
- mutation testing gate (#52)
- Lazy user (#53)