1.0.0-beta.40
published 21 October 2026
- Added model-first /llmhost and /model hosting actions: /llmhost opens on Which model?, showing where each model can run right now, its quantization variants, how its GPU-memory budget splits across parallel conversations (conversations × context) and its default thinking level, and /model includes searchable run it → /llmhost actions (run it on this Mac → when a model fits a local Mac)
- Added GPU rentals across Runpod, Vast.ai and Lambda in /llmhost: Runpod rentals, background setup workers and 5-second stock watches are joined by Vast.ai and Lambda rental adapters, which are new and verified against the vendors' published APIs on fixtures (live rental runs were not performed)
- Added own-computer model servers (/llmhost → My computers and mercury host start|status|stop|restart|logs|uninstall|add|recipes): checks this computer or a saved SSH computer, picks an Ollama or GGUF recipe that fits its memory, verifies a local SHA256SUMS weight bank or confirms a download, and runs the engine as a user login service (launchd, systemd --user or Windows Scheduled Task) registered as compat/box-<name>/<model>
- Added fast-load kept weights disks in /llmhost (Fast-load (keep weights near the GPU)): keeps revision-verified model weights on a Runpod network volume or global volume (Prepare now or At the next rental), verifies warm mounts by seeded sampling in a few seconds (with full SHA-256 verification on demand), and shows monthly storage billing and keep-or-delete options when terminating a pod
- Added Tune before renting and on a running pod in /llmhost: sets quantization, conversations × context splits against the GPU-memory budget and default thinking level before confirming a rental, and reloads a running llama.cpp Runpod pod in place with automatic rollback if the reload fails
- Added /effort for self-hosted and OpenAI-compatible models: lists and sends each model's supported reasoning levels (chat_template_kwargs on llama.cpp, top-level reasoning_effort on vLLM, SGLang, Ollama and Kimi K3), retrying once without the field if a server rejects it with HTTP 400
- Added trillion-parameter recipes and multi-node Runpod Instant Clusters in /llmhost: 19 recipes across Kimi K3, Qwen3.8-2.4T-A95B (FP8 and NVFP4), DeepSeek V4 Pro, MiMo-V2.6-Pro-RL, Mistral Large 3 675B and GLM-5.3 (FP8 and BF16), showing hourly compute, per-node disk, weight-download and model-licence details and replaying Kimi K3 assistant reasoning and tool calls across turns
- Added prebuilt CUDA 13 llama.cpp engine image (ghcr.io/whq02/mercury-llamacpp): GLM-5.3-Flash and Nemotron 3.5 Super VL 120B GGUF rentals use the preinstalled llama-server binary and skip source compilation during pod setup
- Added live output tail for running ! shell commands in chat: shows a ticking running · … timer and the latest output lines (six at 120 columns, three at 80) while keeping carriage-return progress updates on a single line
- Added /restart and one-time installed-build notices: a live chat shows a one-time notice between turns when a newer Mercury build is installed, and /restart lists the Monitor watches and background shells that will stop, switches the background daemon to the installed build and resumes the chat
- Added oculus and headless session kinds: interactive terminal sessions run as oculus (permission asks and questions wait for your answer without timing out), while unattended mercury run, mercury runner, scheduled and coordinator sessions run as headless (/health reports Session kind and the Session Concourse marks headless rows)
- Added connected server tools list and tool-schema detail view in /mcp: expanding a connected MCP server opens a filterable tool list and per-tool parameter schema view, with Esc stepping back one level at a time
- Changed headless runs that ask an unanswered AskUserQuestion to end blocked with the question quoted on the outcome row, read from the run's recorded asks
- Changed self-hosted llama.cpp, vLLM, SGLang, Ollama and LM Studio streaming: llama.cpp conversations reuse a consistent server slot (id_slot with cache_prompt: true), self-hosted servers poll liveness during long prompt prefills instead of timing out after 30 seconds, and streaming tool-call arguments count as live crewmate activity
- Fixed daemon-hosted chats dropping post-compaction messages after /compact: the transcript writer scans all recorded IDs on disk without duplicating earlier history, and the chat keeps post-compaction messages in order across reattach, /restart and daemon restart
- Fixed unreachable custom endpoints in /model opening an unrelated sign-in screen: keyless endpoints retry in place, unreachable custom endpoints show Retry this server → and Remove this endpoint → in /model, terminating a pod removes its provider entry, and opening /llmhost cleans up endpoints whose pods have ended
- Fixed /restart waiting on its own session during daemon handover, repeating on an already-current session, or suggesting esc during a running turn: stops the session's runner before handover, checks the runner's build info first, and tells you to wait for the active turn to finish
- Fixed the installed-build notice repeating after /clear or rendering collapsed: /clear carries over the shown-build marker from the previous chat, and the notice renders unfolded
- Fixed Monitor watches waking the model on every 1-second tick: after the initial 200 ms burst, ongoing output is delivered at most once every 30 seconds with the line count and last line
- Fixed Windows Monitor, run_in_background and inherit_session_env calls under the default shell engine: uses installed Git Bash when present and spawns per-command brush engine processes on Windows machines without bash.exe
- Fixed /mcp sign-in and mid-session server additions: pressing ↵ on a needs sign-in row starts authentication from the active runner, and user-scope MCP servers added mid-session become available in the running chat right away
- Fixed sessions resumed after a redeploy sending stale tool schemas: if a restored tool's live input_schema or build path has changed, Anthropic and OpenAI Responses requests send the current tool schema
- Fixed compaction headroom and session startup checks: compaction reserves the largest token underestimate seen in the session so file-heavy turns do not immediately re-trigger compaction, keyless named endpoints (compat/<name>/<model>) work as the default model for new and /clear sessions, the full-slots notice on the home screen leads with how to free a slot (/concourse or /seats N), and a project inside a home-directory git repo scopes its startup git status check to the launch folder