Skip to content

Windows: Project path normalization mismatch with Claude Code #131

@theflysurfer

Description

@theflysurfer

Description

On Windows, Happy CLI generates a different project folder name than Claude Code, causing session sync to fail.

Environment

  • Happy CLI Version: 0.13.0
  • Platform: Windows 11 (win32 x64)
  • Node.js: v22.21.1
  • Claude Code: v2.1.9

Steps to Reproduce

  1. Create a project with spaces and special characters in path, e.g.:
    C:\Users\julien\OneDrive\Coding\_Projets de code\2026.01 Planotator (Claude Code annotation)

  2. Start a session with happy

  3. Check logs - Happy cannot find the session file

Expected Behavior

Happy should normalize the project path the same way Claude Code does.

Actual Behavior

Claude Code creates:

C--Users-julien-OneDrive-Coding--Projets-de-code-2026-01-Planotator--Claude-Code-annotation-

Happy searches for:

C--Users-julien-OneDrive-Coding-_Projets de code-2026-01 Planotator (Claude Code annotation)

Log Evidence

[FILE_WATCHER] Watch error: ENOENT: no such file or directory, watch 'C:\Users\julien\.claude\projects\C--Users-julien-OneDrive-Coding-_Projets de code-2026-01 Planotator (Claude Code annotation)\24da6915-01c7-4b7c-b86c-2eb40de2e3de.jsonl'

The session file exists but at a different path with different normalization.

Suspected Cause

The path normalization function in Happy doesn't match Claude Code's implementation. Claude appears to:

  • Replace \ with -
  • Replace : with -
  • Replace spaces with -
  • Replace _ with -
  • Replace ( and ) with -
  • Collapse multiple - into single -

Happy seems to only replace \ and : with -, keeping other special characters.

Workaround

None currently - users must avoid special characters in project paths.

Metadata

Metadata

Assignees

No one assigned

    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