mxcli version: v0.11.0 (2026-05-21) · OS: Windows 11
Summary
The -p <project> value is C-escaped on Windows, so a normal backslash path is mangled and the project database can't be opened. The positional .mdl argument is unaffected.
Minimal repro
mxcli check script.mdl -p "C:\Users\me\app\App.mpr"
Actual
Error connecting: failed to connect: failed to set busy_timeout: unable to open database file (14)
The echoed "Validating references against:" line shows the path with backslashes stripped and escape sequences interpreted — e.g. C:\Users\me\app becomes C:Usersme<TAB>pp-style (the \t in …\app rendered as a literal tab, backslashes dropped).
Expected
A backslash Windows path in -p opens the project (same as the positional script argument, which handles backslashes fine).
Workaround
Pass -p with forward slashes: -p "C:/Users/me/app/App.mpr" — this works.
Impact
Every Windows user hits this on -p; forward slashes are a non-obvious requirement, and the error message ("unable to open database file") doesn't hint that the path was mangled.
mxcli version:
v0.11.0 (2026-05-21)· OS: Windows 11Summary
The
-p <project>value is C-escaped on Windows, so a normal backslash path is mangled and the project database can't be opened. The positional.mdlargument is unaffected.Minimal repro
Actual
The echoed "Validating references against:" line shows the path with backslashes stripped and escape sequences interpreted — e.g.
C:\Users\me\appbecomesC:Usersme<TAB>pp-style (the\tin…\apprendered as a literal tab, backslashes dropped).Expected
A backslash Windows path in
-popens the project (same as the positional script argument, which handles backslashes fine).Workaround
Pass
-pwith forward slashes:-p "C:/Users/me/app/App.mpr"— this works.Impact
Every Windows user hits this on
-p; forward slashes are a non-obvious requirement, and the error message ("unable to open database file") doesn't hint that the path was mangled.