| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| semlith-v0.33.0-aarch64-unknown-linux-gnu.tar.gz | 2026-09-30 | 24.0 MB | |
| semlith-v0.33.0-aarch64-apple-darwin.tar.gz | 2026-09-30 | 24.5 MB | |
| semlith-v0.33.0-x86_64-pc-windows-msvc.zip | 2026-09-30 | 22.2 MB | |
| semlith-v0.33.0-x86_64-unknown-linux-gnu.tar.gz | 2026-09-30 | 25.2 MB | |
| SHA256SUMS | 2026-09-30 | 448 Bytes | |
| README.md | 2026-09-30 | 6.5 kB | |
| Semlith 0.33.0 source code.tar.gz | 2026-09-30 | 4.0 MB | |
| Semlith 0.33.0 source code.zip | 2026-09-30 | 4.3 MB | |
| Totals: 8 Items | 104.2 MB | 0 | |
Twelve clients, each tested every release
semlith setup supports twelve clients: Claude Code, OpenAI Codex,
OpenCode, IO CLI, GitHub Copilot CLI, GitHub Copilot in VS Code, Gemini CLI,
Claude Desktop, ChatGPT desktop (the Codex app), Zed, Cline and Cursor
(Cursor's connection is tested, its tool calls are not). Sixteen clients are no longer supported, because one maintainer
cannot verify twenty-seven vendors each release and three of them had been
renamed or shut down unnoticed: Kiro, Qwen Code, Amp, Crush, Droid, Goose,
Amazon Q Developer CLI, OpenClaw, DeepSeek-TUI / Codewhale, Warp, Windsurf /
Devin Desktop, JetBrains Junie, Roo Code, Kilo Code, Continue and LM Studio.
Upgrading cleans up after them, once. The first semlith setup on 0.33.0
removes from those clients only what semlith wrote there — the semlith server
entry (when it launches or points at semlith), the rule block between semlith's
markers, and a skill link into semlith's own skill directory — keeps every other
byte of each file, backs each edited file up beside itself as
<name>.semlith-backup, and lists every removal. A second run removes nothing.
To keep using semlith in one of them, add it back by hand from that client's own
MCP documentation: the command is the absolute path of semlith with the one
argument mcp.
Zed and Cline are registered by setup. semlith setup --register-all writes
Zed's ~/.config/zed/settings.json (context_servers) and Cline's
~/.cline/data/settings/cline_mcp_settings.json (honouring CLINE_DIR). A Zed
settings file with comments or trailing commas is left untouched and its stanza
printed with the reason.
ChatGPT desktop (the Codex app) is registered by setup, into the
~/.codex/config.toml it shares with the Codex CLI: by the CLI's own
registration where the CLI is installed, and by --register-all otherwise.
Every client on macOS, Linux and Windows. docs/clients.md gives each client's
file for each system — Zed's %APPDATA%\Zed on Windows, Claude Desktop's Linux
beta and its Microsoft Store copy, VS Code's profile mcp.json per system — and
a fence's os= takes a list. On Windows semlith setup finds a CLI through
PATHEXT, so the .cmd shims npm installs (Gemini CLI, Copilot CLI, Codex,
VS Code's code) register instead of reading as not installed. A client whose
CLI is missing but which is installed is written through its file, and Codex's
config.toml gains the semlith table the same way, which is how the ChatGPT
desktop app is registered without the Codex CLI.
Every retrieval is filed under the app that made it. Several clients name
themselves only by their MCP library — Claude Desktop, Zed, Copilot in VS Code
and Copilot CLI all say mcp, IO CLI says rmcp — and the Codex CLI and the
ChatGPT app share one name, so the ledger and the access report filed them
together. semlith mcp now reads which app started it and tells the daemon, and
each ledger row and each Connected row carries the documented client name and
the client's own version. The Agents page lists one row per app with its
session count, a closed client leaves the list at once, and an idle one stays.
A daemon restart no longer breaks connected clients. A client's semlith
mcp held the daemon's token from its first call, so any restart of the daemon —
including the one semlith setup now does on upgrade — failed every later call
until the app was restarted. A call now follows the daemon through a restart.
Nothing is created for a client that is not installed. A skill link, a rules file or a configuration file is written only where that client's own directory already exists.
Faster with the Neural Engine off
Indexing on the CPU and the Core ML GPU, with the Neural Engine switched off,
measured 66.3 chunks/s p10 on the M1 Air against 37.7 for 0.32.0, the same day
through the same harness (#164). The GPU models accumulate in fp16, the Core ML
pack moves to version 2 with GPU buckets at 128/192/256/320/400 tokens, and the
Core ML worker copy is renewed (accel/coreml-worker-v2). The first start after
the upgrade downloads the new pack (148 MB) and compiles it once.
Fixed
- Copilot in VS Code refused every chat with semlith enabled ("tool parameters array type must have items"). Every array parameter in the tool schemas now says it holds strings, and a test walks every tool's schema.
- An upgrade left every client on the old daemon.
semlith setupandsemlith upgradenow restart the login service when the running daemon serves another version (launchctl kickstart -k,systemctl --user restart, or the logon task ended and run again), andsemlith doctorfails, naming the fix, while they differ. semlith doctorreported the wrong start time for the daemon. It read the discovery file's modification time, which every store open and key rotation moves;daemon.jsonnow records when the daemon started.- Setup printed the agent key. Printed stanzas name
${SEMLITH_AGENT_KEY};semlith key showis the one command that prints the key. - The access report filed every proxied session under one store with zero hits. A reply is recorded against each store that answered it, with that store's hits.
- The ledger chain could fork when the daemon and a terminal search recorded at the same moment; reading the chain's tail and appending to it is now one transaction.
- The stdio proxy's start line names the daemon it forwards to, and no longer names an arbitrary store.
semlith doctorexplains Gemini CLI's folder trust, which disables user-level MCP servers in folders not in~/.gemini/trustedFolders.json.- Stopping the daemon mid-index printed an ONNX Runtime error (#163). A shutdown now ends a run's slice at once and keeps what it embedded, and the daemon waits for every store's writer before it exits.
- A test of the Neural Engine compile countdown no longer fails on a slow runner (#166).
Install
macOS and Linux
:::sh
curl -fsSL https://raw.githubusercontent.com/semlith/semlith/main/install.sh | sh
Windows
:::powershell
irm https://raw.githubusercontent.com/semlith/semlith/main/install.ps1 | iex
Or download the archive for your platform below, unpack it, and put
semlith on your PATH. Intel macOS has no prebuilt binary: ONNX
Runtime no longer publishes x86_64 macOS builds.
Verify a download against SHA256SUMS before running it.