Skip to content

Conversation

@shanevcantwell
Copy link
Contributor

@shanevcantwell shanevcantwell commented Jan 21, 2026

Summary

  • Fixes workspace .continue/ files failing to load when Windows VS Code connects to WSL
  • Root cause: loadYaml.ts discarded pre-read content and passed only URIs to RegistryClient, which tried fs.readFileSync() (fails for vscode-remote:// URIs)
  • Solution: Added ContentIdentifier type to pass pre-read content directly through the loading pipeline

Fixes #6242, Fixes #7810

Test plan

  • Unit tests pass (297 tests in config-yaml)
  • Built Linux vsix, installed in WSL via code --install-extension
  • Created .continue/docs/test.yaml in WSL workspace
  • Verified config loads without ENOENT errors

🤖 Generated with Claude Code


Continue Tasks

Status Task Actions
▶️ Queued Update docs on PR View

Powered by Continue


Summary by cubic

Fixes WSL config loading by passing pre-read YAML content through the pipeline to avoid fs reads on vscode-remote:// URIs (Fixes #6242, #7810).

  • Bug Fixes
    • Added optional content field to FileIdentifier; loadYaml now includes it.
    • RegistryClient.getContent returns pre-read content when present.
    • Added tests for file identifiers using pre-read content.

Written for commit 1c74659. Summary will update on new commits.

@shanevcantwell shanevcantwell requested a review from a team as a code owner January 21, 2026 08:20
@shanevcantwell shanevcantwell requested review from Patrick-Erichsen and removed request for a team January 21, 2026 08:20
@dosubot dosubot bot added the size:XL This PR changes 500-999 lines, ignoring generated files. label Jan 21, 2026
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 18 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="core/llm/index.ts">

<violation number="1" location="core/llm/index.ts:1124">
P2: Tool prompt overrides are skipped when tools are only defined in the model’s default completionOptions, so per-model overrides never apply to default tools.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@shanevcantwell shanevcantwell force-pushed the fix/wsl-path-construction branch from 36b953b to 75d9d05 Compare January 21, 2026 19:04
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:XL This PR changes 500-999 lines, ignoring generated files. labels Jan 21, 2026
Copy link
Collaborator

@RomneyDa RomneyDa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shanevcantwell to clarify, is there a case where it loads content from not a file or slug? I'm thinking that we could just add the content field and check if it's present rather than adding a new uriType. This would simplify the PR significantly e.g. getContent could just check if content is present and if so return it, and most other changes could be reverted.

I would also be able to merge this faster since we use this type on our backend (and other people might too) and adding a new uriType could be a breaking change

@github-project-automation github-project-automation bot moved this from Todo to In Progress in Issues and PRs Jan 26, 2026
Fixes continuedev#6242, continuedev#7810

When Windows VS Code connects to WSL, workspace files are accessed via
vscode-remote:// URIs. Previously, getAllDotContinueDefinitionFiles()
correctly read content via ide.readFile(), but loadYaml.ts discarded
the content and passed only the URI path to RegistryClient, which then
tried to re-read using fs.readFileSync() - failing for remote URIs.

Changes:
- Add optional content field to FileIdentifier (non-breaking)
- RegistryClient.getContent() returns pre-read content when present
- loadYaml.ts passes content along with file identifiers

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@shanevcantwell shanevcantwell force-pushed the fix/wsl-path-construction branch from a9a9ebb to 1c74659 Compare January 26, 2026 22:53
@dosubot dosubot bot added size:S This PR changes 10-29 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Jan 26, 2026
@shanevcantwell
Copy link
Contributor Author

@shanevcantwell to clarify, is there a case where it loads content from not a file or slug? I'm thinking that we could just add the content field and check if it's present rather than adding a new uriType. This would simplify the PR significantly e.g. getContent could just check if content is present and if so return it, and most other changes could be reverted.

I would also be able to merge this faster since we use this type on our backend (and other people might too) and adding a new uriType could be a breaking change

That was definitely an excessive solution. This is much cleaner.

Copy link
Collaborator

@RomneyDa RomneyDa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks clean!

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Jan 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer size:S This PR changes 10-29 lines, ignoring generated files.

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

WSL Docs cannot be added with Ubuntu on WSL (Windows 11)

2 participants