Skip to content

Windows: project-local drive-less paths fail tool boundary checks #22799

Closed as not planned

Description

@r-siddiq

Description

On Windows, project-local paths that lose their drive letter at tool boundaries can be handled inconsistently.

A path like C:\repo\src\file.ts can arrive as /repo/src/file.ts or \\repo\\src\\file.ts and be treated as external or outside the project even though it is on the current drive and inside the repo. This affects real tool boundaries such as read, write, edit, lsp, and external_directory checks.

The same investigation also exposed a file-backed plugin/theme metadata problem on Windows: if the file contents change without the mtime changing, refresh/install can keep using stale metadata.

Plugins

None required for the path bug.

OpenCode version

dev at c8af8f96c during investigation. Fix branch: fix/windows-plugin-loader-ci (57518bd9b).

Steps to reproduce

  1. On Windows, start in a project directory.
  2. Pass a project-local file through a tool boundary using a drive-less rooted path form such as /repo/src/file.ts.
  3. Observe that the path can be treated as external or outside the project even though it is inside the current repo.
  4. For the plugin/theme symptom, use a file-backed plugin or theme, change the file contents without changing mtime, and trigger refresh/install again.
  5. Observe that the update can be missed and stale metadata can continue to be used.

Screenshot and/or share link

N/A

Operating System

Windows 11, also reproduced in Windows GitHub Actions.

Terminal

Windows Terminal locally, GitHub Actions in CI.

Related Windows-path context: #17780, #22189, #16126. Related plugin/theme context: #14847, #22119, #16559.

Activity

  1. added
    coreAnything pertaining to core functionality of the application (opencode server stuff)
    on Apr 16, 2026
  2. removed
    coreAnything pertaining to core functionality of the application (opencode server stuff)
    on May 3, 2026
  3. github-actions commented on Jul 5, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions