On Windows, with boost-graph-integration enabled, boost init --codex appends this to ~/.codex/config.toml:
[mcp_servers.boostgraphgraph]
command = "boost"
args = ["graph", "serve", "--mcp"]
Codex then prints on every start:
MCP client for `boostgraphgraph` failed to start: MCP startup failed: program not found
MCP startup incomplete (failed: boostgraphgraph)
Three bugs in one write:
-
Name doubled. The key should be boostgraph; the subcommand looks appended to it. The --claude target writes boostgraph correctly, so this is the Codex writer only. It also breaks the tool prefix: the AGENTS.md Boost installs alongside it tells the agent to call boostgraph_explore under mcp__boostgraph__.
-
command = "boost" does not resolve. %LOCALAPPDATA%\boost\bin is on the user PATH but holds only boost.exe, and Codex appears not to apply PATHEXT when spawning an MCP server. The absolute path works: an older [mcp_servers.boostgraph] entry in the same file points at ...\bin\boost.exe and starts fine. Boost writes that absolute path elsewhere already, e.g. $env:BOOST_EXE in ~/.codex/hooks/boost-hook-codex.ps1.
-
Appends instead of reconciling. An existing [mcp_servers.boostgraph] block is left alone and the new one lands at EOF, so two BoostGraph servers end up configured. %LOCALAPPDATA%\boost\boostgraph-managed.json lists the codex target three times across upgrades, so the bookkeeping is not idempotent either.
Repro: run boost init --codex --boostgraph on Windows with the flag on and read ~/.codex/config.toml. Against a throwaway home (git bash):
mkdir -p /tmp/fh/.codex /tmp/fh/.boost
printf 'model = "gpt-5"\n' > /tmp/fh/.codex/config.toml
cp ~/.boost/config.toml /tmp/fh/.boost/config.toml # boost-graph-integration = true
HOME=/tmp/fh USERPROFILE='C:\tmp\fh' HOMEDRIVE=C: HOMEPATH='\tmp\fh' \
CODEX_HOME='C:\tmp\fh\.codex' boost init --codex --boostgraph --accept-terms
Expected: a single [mcp_servers.boostgraph] entry with the absolute boost.exe path, updated in place on reinstall.
boost v0.13.14, Windows 11, Codex CLI.
On Windows, with
boost-graph-integrationenabled,boost init --codexappends this to~/.codex/config.toml:Codex then prints on every start:
Three bugs in one write:
Name doubled. The key should be
boostgraph; the subcommand looks appended to it. The--claudetarget writesboostgraphcorrectly, so this is the Codex writer only. It also breaks the tool prefix: theAGENTS.mdBoost installs alongside it tells the agent to callboostgraph_exploreundermcp__boostgraph__.command = "boost"does not resolve.%LOCALAPPDATA%\boost\binis on the user PATH but holds onlyboost.exe, and Codex appears not to apply PATHEXT when spawning an MCP server. The absolute path works: an older[mcp_servers.boostgraph]entry in the same file points at...\bin\boost.exeand starts fine. Boost writes that absolute path elsewhere already, e.g.$env:BOOST_EXEin~/.codex/hooks/boost-hook-codex.ps1.Appends instead of reconciling. An existing
[mcp_servers.boostgraph]block is left alone and the new one lands at EOF, so two BoostGraph servers end up configured.%LOCALAPPDATA%\boost\boostgraph-managed.jsonlists thecodextarget three times across upgrades, so the bookkeeping is not idempotent either.Repro: run
boost init --codex --boostgraphon Windows with the flag on and read~/.codex/config.toml. Against a throwaway home (git bash):Expected: a single
[mcp_servers.boostgraph]entry with the absoluteboost.exepath, updated in place on reinstall.boost v0.13.14, Windows 11, Codex CLI.