# Reported issues for Hive Vault by mlorentedev

Pod holds 16 of 18 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to [Hive Vault by mlorentedev](/mcp/hive-vault-by-mlorentedev).

## Most discussed

### Drop _compat.py: if mcp/python-sdk#2610 still silent on 2026-06-12, port the fix as our own upstream PR — due 2026-06-12

**Due date:** 2026-06-12 (+21 days from the HIVE-115 PR-4 ship)

## Why this issue exists

`src/hive/_compat.py` is a self-gated monkey-patch on `mcp.shared.session.RequestResponder` that works around the cancel-race tracked upstream at [modelcontextprotocol/python-sdk#2610](https://github.com/modelcontextprotocol/python-sdk/issues/2610).

As of 2026-05-22:

- Issue #2610 has been **open for ~weeks with no maintainer engagement**.
- Independent confirmation of the same bug + same fix pattern was

[Read the thread](https://github.com/mlorentedev/hive/issues/127) · 2026-05-23 · open · 5 comments

### The delegate worker reaches zero models — make it NaN-only and give it a dispatch verb

Blocks `mlorentedev/dotfiles#1190` (CLI-042 — the `dotf agent run` executor seam). That spec makes
hive one of two dispatch backends; today hive cannot serve a single request.

## Measured, 2026-08-22

`worker_status` on this machine:

```
## Connectivity
- Ollama: offline / unavailable
- OpenRouter: no API key
## Available Models
### Ollama (offline / unavailable)
### OpenRouter — No API key configured
```

**Zero reachable models.** The worker's provider vocabulary (`auto` / `ollama` / `openro

[Read the thread](https://github.com/mlorentedev/hive/issues/384) · 2026-08-23 · open · 2 comments

### Beta test findings: HIVE_VAULT_PATH not respected via Hermes MCP, vault_write/vault_patch API quirks

## Beta Test Results — Hive MCP (v1.32.3)

**Environment:** Hermes Agent stdio transport, vault at `/persist/hermes-vault`, scope `agents:hermes-nan`

### ✅ Working

| Tool | Result |
|------|--------|
| `vault_health` | ✅ Returns full report: projects, files, lines, backends |
| `vault_list` | ✅ Lists all projects with file counts and shortcuts |
| `vault_list(project="agents:hermes-nan")` | ✅ Lists 20 files in agent directory correctly |
| `vault_query(project, section)` | ✅ Section shortcuts 

[Read the thread](https://github.com/mlorentedev/hive/issues/202) · 2026-06-04 · closed · 2 comments

### vault_patch leaves stale `.git/hive.lock` after deadline subprocess kill (Windows)

## Summary
On Windows 11, `vault_patch` against a 174 MB local vault times out after 60s when its internal `git add` subprocess hangs. Hive kills the subprocess at the deadline, but the file write has already landed on disk while the git commit never runs — leaving the vault in a "modified" state and a 0-byte `.git/hive.lock` orphan that the parent Hive process keeps an open handle on (cannot be removed externally with `rm` — `Device or resource busy`). Observed once today with strong hypothesis

[Read the thread](https://github.com/mlorentedev/hive/issues/141) · 2026-05-27 · closed · 2 comments

### Bug: tool_timeout (tool_span) does not preempt sync subprocess/thread work — 14-min capture_lesson observed

## Origin

Split from #110 because the fix has its own design surface and risk profile. Evidence comes from the same 2026-05-21 session: `capture_lesson` ran for **838 seconds** while `ctx.tool_timeout` was configured at **60 seconds**. The configured deadline was not enforced.

```
2026-05-21 19:10:48,690 INFO  Processing request of type CallToolRequest
2026-05-21 19:24:47,047 WARNING git commit timed out for ['10_projects\hive\90-lessons.md']
2026-05-21 19:24:47,047 INFO  mcp ok method=tools/c

[Read the thread](https://github.com/mlorentedev/hive/issues/111) · 2026-05-22 · closed · 2 comments

### Hive MCP startup fails on removed FastMCP routing module

## Problem

Hive MCP tool calls from Copilot CLI fail during server startup with:

```text
ModuleNotFoundError: No module named 'fastmcp.server.tasks.routing'
```

Observed while invoking `hive-session_briefing`; the tool never reaches project lookup.

## Environment

- Windows 11
- `hive-vault 1.43.0`
- locally observed `fastmcp 3.4.2`
- Copilot CLI Hive MCP extension

## Expected

Hive MCP tools should load and return the requested vault data.

## Notes

This looks like FastMCP API drift or an

[Read the thread](https://github.com/mlorentedev/hive/issues/319) · 2026-08-05 · closed · 1 comment

### Windows: uv tool upgrade corrupts in-use hive-vault install (ADR-015 mechanism A [MUST RESOLVE]) - recurred in the field

ADR-015 mechanism (A) "upgrade-swap" `[MUST RESOLVE]` just recurred on a real non-admin Windows box, taking the hive MCP down for an entire Claude Code session. ADR-015 documents the failure and #176 is the rollout epic, but there is no issue scoped to (A) alone - this is that tracker, with field evidence that (A) is no longer theoretical.

## What happened (2026-06-23/24, Windows non-admin)
- The `hive` MCP server is declared in `~/.claude.json` but registered ZERO tools all session.
- `C:\User

[Read the thread](https://github.com/mlorentedev/hive/issues/267) · 2026-06-24 · closed · 1 comment

### SOUL.md/MEMORY.md/USER.md not loadable from vault — agent identity files hardcoded to $HERMES_HOME

## Problem

Hermes Agent loads agent identity files (`SOUL.md`, `MEMORY.md`, `USER.md`) from `$HERMES_HOME` (i.e. `~/.hermes/`), but these files are **not loadable from the vault**. This means:

1. **SOUL.md** — hardcoded to a default persona at install time. The file at `/hermes-home/SOUL.md` contains only `"You are Hermes, a helpful AI assistant running on the NaN platform."` — a useless 67-char file.
2. **MEMORY.md** and **USER.md** — stored in `/hermes-home/memories/` as runtime cache. They 

[Read the thread](https://github.com/mlorentedev/hive/issues/201) · 2026-06-04 · open · 1 comment

## Most recent

### Migrate the worker and embed credentials to SecretStr — repr=False closes the measured leak, not the class

`HiveSettings.worker_api_key` and `embed_api_key` carry `repr=False` as of the delegate-verb work, which closes the leak that was measured: `repr(HiveSettings())` rendered `worker_api_key='<the key>'` verbatim, and `repr` is what a traceback, a debug log and a pytest assertion print unbidden.

`repr=False` is a narrower guarantee than the type deserves, and the code says so:

```python
# `SecretStr` is the idiomatic fix and is deliberately NOT taken here: it
# changes the field's type, which pro

[Read the thread](https://github.com/mlorentedev/hive/issues/397) · 2026-08-23 · open · 0 comments

### Re-narrow the mcp pin to <2.0: the widened cap contradicts its own documented rationale

Decision taken 2026-08-07: re-narrow `mcp` from `>=1.27,<3.0` back to `>=1.27,<2.0`. Filed so the decision is durable rather than living in a session transcript, and sequenced behind #338 because both touch `uv.lock`.

## The concrete finding

`pyproject.toml` currently states the constraint and its justification in the same block, and **they disagree with each other**:

```
# Cap at <2.0 so a deliberate review happens before adopting
# any new major release. Bump the lower bound when verifying 

[Read the thread](https://github.com/mlorentedev/hive/issues/342) · 2026-08-08 · closed · 0 comments

### session_briefing(project=<slug>) reproducibly times out at 60s while all other tools respond (Windows, v1.41.7)

`session_briefing(project=<slug>)` reproducibly times out at 60s, while every other tool — including `session_briefing()` with no project — responds instantly. The MCP server is fully healthy (13 tools registered, handshake fine); only the per-project briefing path hangs. This is a **distinct failure mode from #267** (that issue is the uv-trampoline upgrade-swap corruption that registers *zero* tools and kills the whole server — here the server is up and 12/13 tools work).

## What happens (2026

[Read the thread](https://github.com/mlorentedev/hive/issues/282) · 2026-06-29 · closed · 0 comments

### Auto-detect vault root when HIVE_VAULT_PATH is unset (walk up for .obsidian/)

Follow-up to #246 (PR #272), which delivered the required half of the DoD: a loud WHY/FIX startup warning when the resolved vault path is missing, distinguishing a stale `HIVE_VAULT_PATH` from a missing default.

This tracks the **optional** half: when `HIVE_VAULT_PATH` (alias `VAULT_PATH`) is unset, auto-detect the vault root instead of blindly using the hardcoded default — walk up from the cwd for a directory containing `.obsidian/`, falling back to the git root, then to the current default.

[Read the thread](https://github.com/mlorentedev/hive/issues/273) · 2026-06-24 · open · 0 comments

### Expose daemon endpoint + token for third-party MCP clients (hive client --print-endpoint)

### Problem

The `hive serve` single-owner daemon (ADR-011 / HIVE-118) already exposes a clean MCP
**Streamable-HTTP** endpoint at `/mcp` on a loopback port, gated by a per-daemon bearer token
(`StaticTokenVerifier`). The endpoint and token are published to the state dir as
`daemon.port` and `daemon.token` (owner-only) under `~/.local/share/hive/`.

This is exactly what a **third-party MCP client** (i.e. anything that is not the bundled
`hive client` stdio shim) needs in order to connect

[Read the thread](https://github.com/mlorentedev/hive/issues/266) · 2026-06-23 · open · 0 comments

### hive service install should inject the resolved vault path into the daemon unit (self-contained env)

Spun out of cross-repo work in `mlorentedev/dotfiles` (#446 / HARNESS-024, ADR-025) and tracked there under #450 (hive integration robustness review). Sibling of #246 (HIVE-119).

## Problem
`hive serve` (the Phase C daemon) reads `HIVE_VAULT_PATH` from its OWN process environment at start. But `hive service install` creates the unit — systemd `--user` on Linux, Scheduled Task on Windows — with **no environment injection**. So the daemon has no vault path unless something external provisions it.

[Read the thread](https://github.com/mlorentedev/hive/issues/247) · 2026-06-19 · open · 0 comments

### Feature: vault_health server identity + optional runtime metadata

## Origin

Surfaced in a 2026-05-21 dotfiles session: the user asked "qué versión de hive corres?" and `vault_health` had nothing to answer with. Fallback was `uvx --from hive-vault python -c "import importlib.metadata as m; print(m.version('hive-vault'))"` — works, but requires leaving the running session and shelling out. The MCP `initialize` handshake exposes `serverInfo.version` to the client, but Claude Code (and other MCP hosts) don't re-surface it as tool output, so a running session has 

[Read the thread](https://github.com/mlorentedev/hive/issues/109) · 2026-05-21 · closed · 0 comments

### MCP transport stays disconnected for the rest of the conversation after first tool call is rejected (Claude Code)

## Summary

When the very first `mcp__hive__*` tool call in a Claude Code conversation is rejected by the user via the permission prompt, every subsequent call to any Hive tool in the same conversation fails — first with `MCP error -32000: Connection closed`, then with `No such tool available`. The `hive` MCP server itself remains healthy at the process level (`claude mcp list` reports `hive: uvx hive-vault - ✓ Connected`), so the disconnect is **session-scoped** inside Claude Code, not at the s

[Read the thread](https://github.com/mlorentedev/hive/issues/75) · 2026-05-15 · closed · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/mlorentedev/hive/issues).
