Skip to content

T102 + T103: Windows: proofmerge on PATH, and the app finds Claude Code - #85

Merged
imthi16 merged 2 commits into
mainfrom
task/T102-windows-path
Nov 4, 2026
Merged

imthi16 merged 2 commits into
mainfrom
task/T102-windows-path

Conversation

@imthi16

@imthi16 imthi16 commented Nov 4, 2026

Copy link
Copy Markdown
Owner

Two fixes from testing on a Windows PC.

T102: the installer can put proofmerge on the terminal's PATH

After installing, proofmerge did not run in a terminal. The installer left PATH untouched, so only the Start menu app worked, and the Agent Skill could not run proofmerge verify.

  • After the shortcuts, the installer asks "Add the proofmerge command to your terminal too (your user PATH)?".
  • On yes, it writes %LOCALAPPDATA%\ProofMerge\bin\proofmerge.cmd and adds that one folder to the user PATH. The venv's Scripts folder never goes on PATH, because its python.exe and pip would hide the user's own.
  • It reads the raw registry value and writes it back as REG_EXPAND_SZ, so %VAR% entries survive. It never touches the machine PATH, and it tells Windows that the environment changed.
  • The uninstaller takes the folder off PATH. In its batch line, %% stands for one %.

T103: the app finds Claude Code on Windows

Setup did not detect Claude Code, even though it worked in a terminal. On Windows, starting a program by name finds only .exe files, and an npm install of Claude Code is claude.cmd.

  • claude_command() resolves Claude Code on Windows only. It tries PATH first, then %USERPROFILE%\.local\bin\claude.exe, then %APPDATA%\npm\claude.cmd.
  • An npm shim is replaced by what it starts: the package's bin/claude.exe (npm 2.1.318 lists that file as its bin), or node cli.js on older releases. So cmd.exe never re-reads the JSON arguments.
  • Setup's check and the model calls both use it.

Checked

  • Full suite: 958 passed, 1 skipped. Ruff clean.
  • tests/test_windows_installer.py pins the PATH rules. Before this, it pinned "PATH is never written".
  • tests/test_backends.py covers the npm shim, the 2.1.x claude.exe, the fallbacks, and the case where nothing is found.

Not checked

  • None of this has run on Windows. PowerShell is not available here, so the installer block was read and reviewed, not run.

After installing, `proofmerge` did not run in a terminal, so the Agent
Skill could not run `proofmerge verify`. On a yes, the installer adds
%LOCALAPPDATA%\ProofMerge\bin (one proofmerge.cmd, never the venv's
Scripts folder) to the user PATH, keeping %VAR% entries as they are,
and the uninstaller takes it off again.
Setup did not detect Claude Code that worked in a terminal: starting a
program by name on Windows finds only .exe files, and an npm install is
claude.cmd. Claude Code is now resolved to a full path on Windows, and an
npm shim is replaced by the claude.exe (or node cli.js) it starts, so
cmd.exe never re-reads the JSON arguments.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-04T11:05:55.857721Z ed4bfaa PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@imthi16
imthi16 merged commit 41433fa into main Nov 4, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants