-
v2.0.3 Stable
released this
2026-07-10 23:59:15 -07:00 | 33 commits to main since this releaseKaimon v2.0.3
- Auto-background threshold for long evals is now configurable (Config tab or
KAIMON_GATE_PROMOTE_AFTER; 0 = never), and a promoted eval's finished result is now shown in the Activity tab instead of the placeholder (#59) - Write the Antigravity MCP config where current builds read it —
~/.gemini/config/mcp.json(also keeping the legacy path) (#57) - Extension log viewer no longer freezes the TUI (and MCP server) on large logs; extension logs are now size-capped
- Fix reattaching to a detached remote worker (a stale connection could block reconnect)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Auto-background threshold for long evals is now configurable (Config tab or
-
v2.0.2 Stable
released this
2026-07-09 23:49:31 -07:00 | 39 commits to main since this releaseDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v2.0.1 Stable
released this
2026-07-09 14:30:48 -07:00 | 45 commits to main since this releaseKaimon v2.0.1
Kaimon v2.0.1 — MCP server→client delivery reliability
Fixed
- Elicitation prompts no longer silently time out.
grep_codepath-consent andstart_sessionproject-consent prompts were delivered to a single receive-stream outbox keyed by the caller's POST session id. Clients such as Claude Code present a differentMcp-Session-Idon their GET receive stream than on tool-call POSTs, so the targeted outbox was empty and the request no-op'd — an immediate "no answer" with no prompt shown. Delivery now targets the caller's own stream, else any open receive stream, else the in-flight tool-call SSE stream. tools/list_changedis re-delivered on every change. The persistent GET receive stream deduped notifications by method name for its entire lifetime, so a re-queuedtools/list_changed(e.g. after each extension restart) was suppressed forever — forcing a manual reconnect. Notifications now carry a monotonic sequence and consumers track a per-session cursor, so every re-queue is delivered; the board is no longer drained, so a POST flush can't steal a notification from a concurrent GET stream.
Changed
run_testshonors|-separated OR patterns:pattern="a|b"runs testsets matching either, by splitting into a ReTest disjunction array (a bare string was matched literally before).
Closed issues:
- Can Kaimon ping claude? (#30)
- Excessive memory consumption (#33)
- Windows: ZMQ ipc:// transport not supported — TUI fails to start after /dev/tty fix (#41)
- Orphaned Gate.serve() REPLs are never reaped — multi-GB leak under headless server (#51)
- claude code bug report (#55)
- Kaimon / GLMakie interaction problems (#56)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Elicitation prompts no longer silently time out.
-
v2.0.0 Stable
released this
2026-07-08 15:39:36 -07:00 | 50 commits to main since this releaseKaimon 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_sessionreuses 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_projectcovers
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)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
KaimonGate-v1.0.1 Stable
released this
2026-07-08 13:08:47 -07:00 | 52 commits to main since this releaseKaimonGate KaimonGate-v1.0.1
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
KaimonGate-v1.0.0 Stable
released this
2026-07-07 18:22:03 -07:00 | 56 commits to main since this releaseKaimonGate KaimonGate-v1.0.0
First release of KaimonGate, part of the upcoming Kaimon 2.0 release.
KaimonGate is the lightweight eval gate that runs inside a Julia session so the Kaimon MCP server can execute, debug, and introspect code. It depends only on ZMQ and the standard library, so splitting it out of Kaimon greatly reduces the dependency footprint required for Gate sessions — a session can connect without pulling in the full Kaimon dependency tree, which matters most on remote/compute nodes.
Merged pull requests:
- Add Wayland clipboard support using wl-copy/wl-paste (#1) (@KristianHolme)
- Add cursor and opencode support (#2) (@KristianHolme)
- Add description and keywords to Project.toml (#4) (@Copilot)
- Fix #6: world age error when displaying values from newly loaded packages (#8) (@kahliburke)
- feat: manually restart gate from REPL and TUI (#17) (@haakon-e)
Closed issues:
- Please add a description (#3)
- Occasional segfault (#5)
- Garbled response from Symbolics.jl variables (#6)
- Claude sees no response (#10)
- Kaimon is crashing when plotting (#11)
- Proposal: Reduce namespace pollution by unexporting identifiers (breaking change) (#13)
- ex tool should return stderr/errors to MCP client (#14)
- search indexing collection manager + search usage questions (#15)
- Manual REPL restart from the TUI or REPL (#16)
- Antigravity config (#18)
- Don't ask adding Kaimon to global env (#19)
- Split Gate into minimal standalone package (KaimonGate.jl) (#20)
- ex async evals can't load/use GLMakie — GLFW requires thread 1, but Threads.@spawn lands on default pool (#21)
- TagBot trigger issue (#22)
- Does "Remote Control" by jeandeaual really exist? (#25)
- Version compatibility check between kaimon app and Kaimon.jl package (#26)
- 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)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v1.3.1 Stable
released this
2026-04-16 03:02:38 -07:00 | 285 commits to main since this releaseFix: custom port from config.json respected by TUI (#27)
The TUI entry point was ignoring the
portfield in~/.config/kaimon/config.json, always using the default 2828 unless--portwas passed on the command line. The headless path already did the right thing — the TUI now matches.Priority: CLI
--port> config.jsonportfield > default 2828.Install
]app add Kaimon@1.3.1Full Changelog: https://github.com/kahliburke/Kaimon.jl/compare/v1.3.0...v1.3.1
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v1.3.0 Stable
released this
2026-04-15 18:31:45 -07:00 | 288 commits to main since this releaseWhat's New
Main-thread eval for GLMakie/GLFW (#21)
The
extool now supportsmt=trueto route evals through the REPL backend on thread 1. Required for GLMakie, GLFW, and any library that needs the main thread.ex(e="using GLMakie; scatter([1,2,3], [4,5,6])", mt=true)Version compatibility check (#26)
Gate sessions now report their Kaimon version in health check pongs. The TUI warns when a session loads a mismatched version — catches the case where a stale dev'd copy in the global env causes silent serialization failures. The app startup also checks for version/path mismatches.
VS Code integration fix (#25)
Kaimon ships its own VS Code Remote Control extension — no third-party extension needed. Install from the TUI Config tab (
v) orKaimon.install_vscode_remote_control(). Fixedlist_vscode_commands(was calling an undefined function). Extension installs globally without requiring a project.Tool call tracking
The
total_tool_callscounter and sparkline in the TUI status bar now actually work (were always showing 0).server_log performance
The
server_logtool now reads from an in-memory ring buffer instead of scanning the full log file on disk. Also added log rotation at 10MB.Docs
- Fixed tab table (added Debug, Extensions tabs)
- Updated tool count (50+)
- Fixed
api_keysformat in configuration docs - Updated install instructions to use registry
Install
]app add Kaimon@1.3.0Full Changelog: https://github.com/kahliburke/Kaimon.jl/compare/v1.2.2...v1.3.0
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v1.2.2 Stable
released this
2026-04-12 09:43:24 -07:00 | 296 commits to main since this releaseMain-thread eval for GLMakie/GLFW (#21)
The
exMCP tool now supportsmt=true(main-thread mode), which routes evals through the REPL backend on thread 1. This is required for GLMakie, GLFW, and any library that needs the main thread for OpenGL/GPU calls.Usage
ex(e="using GLMakie; GLMakie.activate!()", mt=true) ex(e="fig = Figure(); scatter(fig[1,1], [1,2,3], [4,5,6]); display(fig)", mt=true)Without
mt=true, async evals run on default-pool threads, causingThreadAssertionError. Withmt=true, the gate spawns the eval on the interactive pool, andgate_evalroutes throughREPL.call_on_backendto execute on thread 1.Install
]app add Kaimon@1.2.2Full Changelog: https://github.com/kahliburke/Kaimon.jl/compare/v1.2.1...v1.2.2
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v1.2.1 Stable
released this
2026-04-07 16:37:05 -07:00 | 298 commits to main since this releaseBugfix release.
What's Changed
-
Dismissible global env prompt (#19) — The "Add Kaimon to your global Julia environment?" prompt on startup now offers
[Y/n/never]. Choosing "never" persists the choice in~/.config/kaimon/config.jsonso you won't be asked again. Re-enable withkaimon --reset-global-prompt.The prompt text also now mentions alternatives (Julia 1.12 workspaces, ShareAdd.jl, per-project deps) for users who prefer to keep their global environment minimal.
Thanks @Eben60 for the report.
Install
]app add https://github.com/kahliburke/Kaimon.jl#v1.2.1Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-