The capture pipeline is unusable through MCP: commitlore_prepare_capture fails immediately, before any draft is written.
What happened
commitlore_prepare_capture(transcript: "<~2.4 KB session note>")
→ commitlore: ENOENT: no such file or directory,
open '/Users/isaac/.claude/plugins/cache/commitlore/commitlore/0.6.0/spec/SPEC.md'
There is no 0.6.0 anywhere on this machine. What exists:
$ ls -d ~/.claude/plugins/cache/commitlore/commitlore/*/
/Users/isaac/.claude/plugins/cache/commitlore/commitlore/0.8.0/
$ find ~/.claude/plugins/cache/commitlore -name SPEC.md
/Users/isaac/.claude/plugins/cache/commitlore/commitlore/0.8.0/spec/SPEC.md
$ find ~/.codex/plugins/cache/commitlore -name SPEC.md
/Users/isaac/.codex/plugins/cache/commitlore/commitlore/0.8.2/spec/SPEC.md
$ ls ~/.local/share/commitlore/
codex-plugin.json v0.8.0 v0.8.1 v0.8.2
$ commitlore --version
0.8.2
So three different versions are live at once depending on which surface you ask:
| surface |
version |
commitlore on PATH |
0.8.2 |
commitlore.bin in git config |
v0.8.0 |
| Claude plugin cache |
0.8.0 |
| codex plugin cache |
0.8.2 |
what prepare_capture looks for |
0.6.0 |
The 0.6.0 reference is the odd one — nothing else on the machine mentions it, so it looks like a
version string that is computed or persisted somewhere rather than read from the running install.
Reproduction
- Install 0.8.2 and wire the MCP server into a repository (this repo has
.commitlore-policy.json
and commitlore.* git config present).
- Call
commitlore_prepare_capture with any non-empty transcript.
- Observe ENOENT on a
0.6.0/spec/SPEC.md path.
The MCP server config in the plugin is:
{ "mcpServers": { "commitlore": { "command": "node", "args": ["./dist/commitlore.mjs", "mcp"], "cwd": "." } } }
cwd: "." plus a relative ./dist/commitlore.mjs means the resolved implementation depends entirely
on where the host launches it, which may be how the surfaces drifted apart.
Impact
This blocks the documented capture flow end to end — prepare is the first step, so verify and stage
are unreachable. Commits with real decision context cannot be recorded through MCP at all; the only
路 left is writing trailers by hand, which the tool explicitly advises against.
Possibly the same root cause as a separate report
I filed #631 for a related symptom: the same record reads trust: "directive" through the CLI and
trust: "claim" through MCP. If the MCP surface is resolving against a stale install, both would
follow from one cause. I am reporting them separately because I could not prove they share it.
Environment
- CommitLore 0.8.2 on PATH;
commitlore.bin git config pointing at v0.8.0
- macOS 15 (Darwin 25.3.0)
- Claude Code plugin cache at 0.8.0, codex plugin cache at 0.8.2
The capture pipeline is unusable through MCP:
commitlore_prepare_capturefails immediately, before any draft is written.What happened
There is no 0.6.0 anywhere on this machine. What exists:
So three different versions are live at once depending on which surface you ask:
commitloreon PATHcommitlore.binin git configprepare_capturelooks forThe 0.6.0 reference is the odd one — nothing else on the machine mentions it, so it looks like a
version string that is computed or persisted somewhere rather than read from the running install.
Reproduction
.commitlore-policy.jsonand
commitlore.*git config present).commitlore_prepare_capturewith any non-empty transcript.0.6.0/spec/SPEC.mdpath.The MCP server config in the plugin is:
{ "mcpServers": { "commitlore": { "command": "node", "args": ["./dist/commitlore.mjs", "mcp"], "cwd": "." } } }cwd: "."plus a relative./dist/commitlore.mjsmeans the resolved implementation depends entirelyon where the host launches it, which may be how the surfaces drifted apart.
Impact
This blocks the documented capture flow end to end — prepare is the first step, so verify and stage
are unreachable. Commits with real decision context cannot be recorded through MCP at all; the only
路 left is writing trailers by hand, which the tool explicitly advises against.
Possibly the same root cause as a separate report
I filed #631 for a related symptom: the same record reads
trust: "directive"through the CLI andtrust: "claim"through MCP. If the MCP surface is resolving against a stale install, both wouldfollow from one cause. I am reporting them separately because I could not prove they share it.
Environment
commitlore.bingit config pointing at v0.8.0