Plugin system drops backslash before dot-prefixed directories on Windows

Resolved 💬 3 comments Opened Feb 27, 2026 by dominea-dev Closed Mar 9, 2026

Bug Description

The plugin system drops the \ path separator before dot-prefixed directory names on Windows when constructing the mkdir path for the plugins directory.

Environment

  • OS: Windows 11 Pro (10.0.26200)
  • Shell: Git Bash (MINGW64) via Claude Code
  • Claude Code: Latest version
  • CLAUDE_CONFIG_DIR: Set to a path containing a dot-prefixed subdirectory (.ai-context)

Steps to Reproduce

  1. Set CLAUDE_CONFIG_DIR to a path containing a dot-prefixed directory, e.g.:

``
C:\Users\<user>\OneDrive - Elliott Doward LLC\ai-work\.ai-context
``

  1. Run /plugin

Expected Behavior

The plugin system should construct the plugins path as:

C:\Users\<user>\OneDrive - Elliott Doward LLC\ai-work\.ai-context\plugins

(with \ separator between ai-work and .ai-context)

Actual Behavior

The path separator before .ai-context is dropped, producing:

C:\Users\<user>\OneDrive - Elliott Doward LLC\ai-work.ai-context\plugins

(no \ between ai-work and .ai-context)

Full error message:

Failed to load all marketplaces. Errors: claude-plugins-official: EEXIST: file already exists, mkdir
'C:\Users\<user>\OneDrive - Elliott Doward LLC\ai-work.ai-context\plugins'

Analysis

  • The CLAUDE_CONFIG_DIR environment variable contains the correct path (verified character-by-character via Node.js — backslash at expected position confirmed)
  • All config files (known_marketplaces.json, installed_plugins.json) contain correctly escaped paths with \ separators
  • The bug appears to be in the plugin system's internal path construction when it calls mkdir for the plugins directory
  • The \ before . (dot-prefixed directory name) is being dropped somewhere during path processing
  • This may be related to how the path string is processed or serialized internally — \. could be misinterpreted as an escape sequence in some code path

Workarounds Attempted

  • Creating a junction for the plugins directory outside OneDrive — does not fix the path construction issue
  • Updating installLocation in known_marketplaces.json — does not fix the mkdir call
  • The only viable workaround appears to be renaming the config directory to avoid a dot-prefix

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗