test(e2e): give Claude a long-path config dir so the IDE server cannot abort - #718
Merged
Merged
Conversation
… abort On Windows runners os.tmpdir() is an 8.3 short path (C:\Users\RUNNER~1\...). The mock's CLAUDE_CONFIG_DIR inherited it, and the Claude extension, which Claude installs into the IDE server mid-test, watches that folder from the server process. libuv before 1.53.0 asserts on the first event in a short-path watched directory (libuv#5010), so the whole IDE server aborted and agent-turn failed with "No Claude session is running". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.
e2e/agent-mock.ts: resolve the mock'sCLAUDE_CONFIG_DIRwithrealpathSync.native, so a Windows runner's 8.3 short temp path (C:\Users\RUNNER~1\...) becomes its long form.agent-turn.e2e.tsfailure on Windows ("No Claude session is running", e.g. runs 36478259567 and 36472837866): Claude installs the Claude Code extension into the IDE server mid-test; the extension watchesCLAUDE_CONFIG_DIRfrom the server process, and libuv < 1.53.0 asserts (!_wcsnicmp(filename, dir, dirlen), fs-event.c:72) on the first event in a short-path watched directory (libuv#5010), aborting the whole server (exit 0xC0000409).fs.watchon the short path aborts, therealpathSync.nativeform works. No Node release bundles libuv 1.53.0 yet (deps: update libuv to 1.53.0 nodejs/node#66282 is open).