You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I reproduced this on native Windows against current main with an isolated HOME. The step mcp prepare path still returns the macOS/Linux-only error.
@Hylouis233, do you plan to bring your fork’s Windows provisioning change upstream? I can help validate it on native Windows. If you are not continuing with it, I would like to coordinate a focused upstream PR using the published bundle and a .cmd wrapper, rather than duplicate your work.
Thanks for the native Windows reproduction and the offer to validate.
We plan to bring the fork’s Windows StepPage provisioning upstream (published bundle + steppage-mcp.cmd under ~/.local/bin, probed via cmd /c; no PATH write). Native Windows acceptance from your side would be very welcome once the PR is up — we’ll link it here so we don’t duplicate work.
Head: 9ea890477462bc7c8e22fbad912de9f394d7961f on fix/219-steppage-windows-provisioning (2 commits, 4 files).
@li-xiu-qi — if you can validate on native Windows (isolated HOME, step mcp prepare), that would be very helpful. Unit tests pass; we have not run a real Windows install yet. I will replace this with the PR link once it is opened.
GitHub reports these branches can merge cleanly, but this repo restricts opening PRs to collaborators, so I cannot create the upstream PR from the fork myself.
Could a maintainer please either:
open a PR from that compare into main, or
grant temporary collaborator access so I can open it,
and @li-xiu-qi — if you can validate on native Windows (step mcp prepare after this branch), that would be a big help.
Happy to adjust the branch if review needs changes.
@Hylouis233, I tested your original 9ea8904 without local changes. Windows tests passed 10/10; full build and Bun standalone step-bin.exe build succeeded. On native Windows, with an isolated HOME containing spaces, the original standalone binary completed mcp prepare. The wrapper’s --version returned 1.0.0, MCP initialize returned steppage 0.0.1, and tools/list returned 13 tools. The main Windows implementation and standalone-binary path work and need no rewrite.
Two hardening items surfaced. The wrapper invokes bare node. Launching from a directory containing a malicious node.cmd printed NODE_HIJACKED_FROM_CWD, proving cwd-shim hijacking. Resolve node.exe from absolute PATH entries and reuse that absolute path for version checking and the wrapper. Do not use process.execPath; in the standalone binary it points to Step itself.
Passwords/tokens in mirror URLs can appear in final error text on Windows and POSIX error paths. Redact the complete final error text consistently. The POSIX issue already exists on unmodified main; this branch did not introduce it.
Overall, the original implementation is functionally complete; these are localized security hardening items. This is validation feedback only; I have not opened a separate issue or PR. I hope this helps you and the maintainers advance the existing branch.
@li-xiu-qi thank you for the native Windows verification (10/10 on 9ea890477) and for the two hardening suggestions.
Pushed follow-up on Hylouis233:fix/219-steppage-windows-provisioning → head d77b1efe74036a124beabed22e0c4224805c3792 (ff on top of 9ea890477, no rebase):
Resolve node.exe via PATH absolute path for version checks and the wrapper (do not use process.execPath)
Redact passwords/tokens from mirror URLs in full error text
Unit tests: windows 15/15 (related suite 102/102). Native Windows re-check of this tip welcome if you have a moment.
@Hylouis233 following up on your last comment: since fork PRs cannot be opened into this repo, I opened one from your branch so the work can move forward: #305 (head e37e8d44, ready, CI green).
Your three commits (878ff8f, 9ea8904, d77b1ef) are preserved in the branch history with you as author. On top of d77b1efe I added one hardening commit: node.exe / cmd.exe / curl.exe are resolved only from absolute PATH entries, the wrapper health check probes the wrapper by basename from its own directory via the absolute cmd.exe, mirror URLs are redacted in raw and shell-escaped form, and the Windows ENOENT message now points to step mcp prepare.
Validation of the final tip on native Windows: the feature tests fail 5/34 on the unpatched baseline and pass 34/34 with the change, the full workspace comparison shows no candidate-only failures, and pnpm run check passes. mcp prepare succeeds in an isolated HOME containing spaces, & and %PATH%, with node.cmd, cmd.exe and curl.exe shims planted in the launch directory; the wrapper reports 1.0.0, MCP initialize returns steppage 0.0.1, and tools/list returns 13 tools.
Earlier I wrote that I had not opened a PR; that changed once it was clear the fork could not open one and the remaining items needed a tracked home. Happy to adjust the branch if you or the maintainers want changes, and a native Windows re-check of e37e8d44 from your side is welcome.
@li-xiu-qi thank you for opening #305 from our branch (e37e8d44, our three commits retained + your hardening). Please have maintainers associate this issue when reviewing that PR.
Local re-check of #305 (e37e8d44): our three commits retained; contributor hardening LGTM; mocked-win32 suites 18/18 + related 106/106. No further code from us — waiting on maintainer review (please associate this issue).
Activity
1239636986-create commentedon Oct 10, 2026
我们已对 StepPage 插件的安装体验进行了优化,现已支持启动时自动预安装 StepPage 插件,无需再手动执行
/plugin install steppage命令。相关改动已合并至 PR #160,感谢你的反馈与支持!fix(steppage): provision Windows and harden session cleanup (#5)
li-xiu-qi commentedon Oct 24, 2026
I reproduced this on native Windows against current main with an isolated HOME. The
step mcp preparepath still returns the macOS/Linux-only error.@Hylouis233, do you plan to bring your fork’s Windows provisioning change upstream? I can help validate it on native Windows. If you are not continuing with it, I would like to coordinate a focused upstream PR using the published bundle and a
.cmdwrapper, rather than duplicate your work.Hylouis233 commentedon Oct 24, 2026
Thanks for the native Windows reproduction and the offer to validate.
We plan to bring the fork’s Windows StepPage provisioning upstream (published bundle +
steppage-mcp.cmdunder~/.local/bin, probed viacmd /c; no PATH write). Native Windows acceptance from your side would be very welcome once the PR is up — we’ll link it here so we don’t duplicate work.Hylouis233 commentedon Oct 24, 2026
Compare (pending formal PR — waiting on GitHub create confirmation): https://github.com/stepfun-ai/Step-Code/compare/main...Hylouis233:Step-Code:fix/219-steppage-windows-provisioning?expand=1
Head:
9ea890477462bc7c8e22fbad912de9f394d7961fonfix/219-steppage-windows-provisioning(2 commits, 4 files).@li-xiu-qi — if you can validate on native Windows (isolated HOME,
step mcp prepare), that would be very helpful. Unit tests pass; we have not run a real Windows install yet. I will replace this with the PR link once it is opened.Hylouis233 commentedon Oct 25, 2026
Update on the Windows StepPage provisioning fix:
Branch is ready on the fork (2 commits, 4 files, unit coverage green):
Hylouis233:fix/219-steppage-windows-provisioning(9ea890477)GitHub reports these branches can merge cleanly, but this repo restricts opening PRs to collaborators, so I cannot create the upstream PR from the fork myself.
Could a maintainer please either:
main, orand @li-xiu-qi — if you can validate on native Windows (
step mcp prepareafter this branch), that would be a big help.Happy to adjust the branch if review needs changes.
li-xiu-qi commentedon Oct 25, 2026
@Hylouis233, I tested your original 9ea8904 without local changes. Windows tests passed 10/10; full build and Bun standalone
step-bin.exebuild succeeded. On native Windows, with an isolatedHOMEcontaining spaces, the original standalone binary completedmcp prepare. The wrapper’s--versionreturned 1.0.0, MCP initialize returnedsteppage0.0.1, andtools/listreturned 13 tools. The main Windows implementation and standalone-binary path work and need no rewrite.Two hardening items surfaced. The wrapper invokes bare
node. Launching from a directory containing a maliciousnode.cmdprintedNODE_HIJACKED_FROM_CWD, proving cwd-shim hijacking. Resolvenode.exefrom absolute PATH entries and reuse that absolute path for version checking and the wrapper. Do not useprocess.execPath; in the standalone binary it points to Step itself.Passwords/tokens in mirror URLs can appear in final error text on Windows and POSIX error paths. Redact the complete final error text consistently. The POSIX issue already exists on unmodified main; this branch did not introduce it.
Overall, the original implementation is functionally complete; these are localized security hardening items. This is validation feedback only; I have not opened a separate issue or PR. I hope this helps you and the maintainers advance the existing branch.
Hylouis233 commentedon Oct 25, 2026
@li-xiu-qi thank you for the native Windows verification (10/10 on
9ea890477) and for the two hardening suggestions.Pushed follow-up on
Hylouis233:fix/219-steppage-windows-provisioning→ headd77b1efe74036a124beabed22e0c4224805c3792(ff on top of9ea890477, no rebase):node.exevia PATH absolute path for version checks and the wrapper (do not useprocess.execPath)Unit tests: windows 15/15 (related suite 102/102). Native Windows re-check of this tip welcome if you have a moment.
Compare (ready for a formal PR — fork cannot open one into this repo without collaborator access):
https://github.com/stepfun-ai/Step-Code/compare/main...Hylouis233:Step-Code:fix/219-steppage-windows-provisioning?expand=1
Maintainers: please open/accept a PR from that head when convenient, or grant collaborator so we can open it ourselves. Happy to adjust further.
li-xiu-qi commentedon Oct 26, 2026
@Hylouis233 following up on your last comment: since fork PRs cannot be opened into this repo, I opened one from your branch so the work can move forward: #305 (head
e37e8d44, ready, CI green).878ff8f,9ea8904,d77b1ef) are preserved in the branch history with you as author. On top ofd77b1efeI added one hardening commit:node.exe/cmd.exe/curl.exeare resolved only from absolute PATH entries, the wrapper health check probes the wrapper by basename from its own directory via the absolutecmd.exe, mirror URLs are redacted in raw and shell-escaped form, and the Windows ENOENT message now points tostep mcp prepare.Fixes #304. Maintainers may also want to link it to this issue, since it covers the original Windows provisioning path described here.Validation of the final tip on native Windows: the feature tests fail 5/34 on the unpatched baseline and pass 34/34 with the change, the full workspace comparison shows no candidate-only failures, and
pnpm run checkpasses.mcp preparesucceeds in an isolated HOME containing spaces,&and%PATH%, withnode.cmd,cmd.exeandcurl.exeshims planted in the launch directory; the wrapper reports 1.0.0, MCP initialize returns steppage 0.0.1, and tools/list returns 13 tools.Earlier I wrote that I had not opened a PR; that changed once it was clear the fork could not open one and the remaining items needed a tracked home. Happy to adjust the branch if you or the maintainers want changes, and a native Windows re-check of
e37e8d44from your side is welcome.Hylouis233 commentedon Oct 26, 2026
@li-xiu-qi thank you for opening #305 from our branch (
e37e8d44, our three commits retained + your hardening). Please have maintainers associate this issue when reviewing that PR.Hylouis233 commentedon Oct 26, 2026
Local re-check of #305 (
e37e8d44): our three commits retained; contributor hardening LGTM; mocked-win32 suites 18/18 + related 106/106. No further code from us — waiting on maintainer review (please associate this issue).