docs: Keploy on Windows no longer needs Administrator - #901
Merged
slayerjain merged 1 commit intoAug 23, 2026
Conversation
Native Windows interception used a kernel packet-filter driver, which could only load from an elevated terminal. Keploy now instruments the application it starts and intercepts its network calls in user space instead, so the driver — and the Administrator requirement with it — is gone. - installation/windows.md: drop the "open an Administrator terminal" step and the WinDivert explanation, and state the two limits that come with instrumenting the application rather than filtering packets: Keploy has to be the one that starts it, and UDP traffic is not recorded. Hostname resolution is covered, so a dependency that no longer exists is still answered from its Mock on a replay. - concepts/platform-requirements.md: macOS and Windows are both userspace now, and neither needs sudo or Administrator. The `wsl --install` steps keep their "as Administrator" note — that genuinely needs elevation and is unrelated. Blocked on keploy/keploy#4476, which removes the driver. Do not merge before it ships, or the page will describe behaviour users do not have yet. Signed-off-by: Shubham Jain <shubhamkjain@outlook.com>
slayerjain
merged commit Aug 23, 2026
c266b44
into
feat/native-macos-windows-support
6 checks passed
slayerjain
added a commit
that referenced
this pull request
Aug 23, 2026
Native Windows interception used a kernel packet-filter driver, which could only load from an elevated terminal. Keploy now instruments the application it starts and intercepts its network calls in user space instead, so the driver — and the Administrator requirement with it — is gone. - installation/windows.md: drop the "open an Administrator terminal" step and the WinDivert explanation, and state the two limits that come with instrumenting the application rather than filtering packets: Keploy has to be the one that starts it, and UDP traffic is not recorded. Hostname resolution is covered, so a dependency that no longer exists is still answered from its Mock on a replay. - concepts/platform-requirements.md: macOS and Windows are both userspace now, and neither needs sudo or Administrator. The `wsl --install` steps keep their "as Administrator" note — that genuinely needs elevation and is unrelated. Blocked on keploy/keploy#4476, which removes the driver. Do not merge before it ships, or the page will describe behaviour users do not have yet. Signed-off-by: Shubham Jain <shubhamkjain@outlook.com>
slayerjain
added a commit
that referenced
this pull request
Aug 24, 2026
* docs: document native macOS and Windows support Keploy now runs natively on macOS (userspace interception, no eBPF, no privileges) and on Windows/x86-64 (the WinDivert driver), covering Go, Node, Python and Java apps. The docs still said "Keploy does not natively support macOS/Windows" and routed everyone to Lima, WSL or Docker. - installation/macos.md, installation/windows.md: add a native "Option 1" with record/replay steps, keeping Lima/WSL/Docker as alternatives. Note the macOS no-sudo behaviour, the launcher caveat (run the real executable, not `npm start`), and that Go HTTPS is handled without touching the keychain. - concepts/platform-requirements.md: mark macOS and Windows as natively supported in the "Without Docker" column, with the Windows/ARM and container routes still listed. - keploy-explained/dev-guide.md, server/installation_tabs.md: correct the "does not natively support macOS" statements. Signed-off-by: Shubham Jain <shubhamkjain@outlook.com> * docs: drop the Administrator requirement for native Windows (#901) Native Windows interception used a kernel packet-filter driver, which could only load from an elevated terminal. Keploy now instruments the application it starts and intercepts its network calls in user space instead, so the driver — and the Administrator requirement with it — is gone. - installation/windows.md: drop the "open an Administrator terminal" step and the WinDivert explanation, and state the two limits that come with instrumenting the application rather than filtering packets: Keploy has to be the one that starts it, and UDP traffic is not recorded. Hostname resolution is covered, so a dependency that no longer exists is still answered from its Mock on a replay. - concepts/platform-requirements.md: macOS and Windows are both userspace now, and neither needs sudo or Administrator. The `wsl --install` steps keep their "as Administrator" note — that genuinely needs elevation and is unrelated. Blocked on keploy/keploy#4476, which removes the driver. Do not merge before it ships, or the page will describe behaviour users do not have yet. Signed-off-by: Shubham Jain <shubhamkjain@outlook.com> * docs: format macos.md so the prettier check passes The prettier lane fails on this PR because installation/macos.md carries two consecutive blank lines. Prettier collapses them, and the check runs over every file the PR touches, so the whole lane goes red on whitespace. Content is untouched — this is the output of `prettier --write` on that one file, and every file this PR changes now passes under both prettier 2.8.8 (the version .github/workflows/prettify_code.yml asks for) and 3.9.6 (the version the action actually installs). Signed-off-by: Shubham Jain <shubhamkjain@outlook.com> * ci: make the prettier check use the version it declares prettify_code.yml passes prettier_version: 2.8.8 to creyD/prettier_action@v4.6, and the action ignores it — the run log reads "The following package was not found and will be installed: prettier@3.9.6". So the formatting contract CI enforced was not the one CONTRIBUTING and .prettierrc.json describe, and the two could drift apart silently: a file formatted to the documented version could fail the check, and a file the check accepts could be wrong by the documented version. Calling prettier directly removes the ambiguity — `npx prettier@2.8.8` runs 2.8.8 — and drops a third-party action from the path for a one-line command. 2.8.8 stays because it is what this repository is formatted with: across versioned_docs/version-4.0.0, 23 files diverge from 2.8.8 and 29 from 3.9.6. Moving to 3.x reflows markdown and is a deliberate migration, not something to inherit from an action's default. Signed-off-by: Shubham Jain <shubhamkjain@outlook.com> --------- Signed-off-by: Shubham Jain <shubhamkjain@outlook.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Native Windows interception used a kernel packet-filter driver, which could only load from an elevated terminal — so the install page told everyone to open an Administrator terminal. Keploy now instruments the application it starts and intercepts its network calls in user space instead, so the driver, and the Administrator requirement with it, is gone.
Changes
installation/windows.md— drop the "open an Administrator terminal" step and the WinDivert explanation. Add the two limits that come with instrumenting the application rather than filtering packets, because users will hit them otherwise:keploy record -c/keploy test -c, not "start it yourself and point Keploy at it"), and the app must be 64-bit.concepts/platform-requirements.md— macOS and Windows are both userspace now, and neither needssudoor Administrator.The
wsl --installsteps keep their "as Administrator" note. That genuinely needs elevation and is unrelated to interception.Blocked on
keploy/keploy#4476, which removes the driver. Please don't merge this before that ships — the page would describe behaviour users don't have yet.
Based on
feat/native-macos-windows-support(#900) rather thanmain, because it edits text that only exists on that branch. Happy to rebase ontomainonce #900 lands.Checks run locally
npm install && npm run build— succeeds (205 documents processed, static files generated)npx prettier@2.8.8 --checkon both files — clean