#1037·humanlayer

[Bug]: windows artifacts not syncing

Author: balavayCreated Jul 13, 2026Updated Sep 9, 2026
Labelsbug

Current Behavior / Issue

On Windows, the riptide daemon downloads task artifacts from the cloud but rejects every write to disk as path traversal detected, even though the rejected path is a legitimate direct child of the task directory. Artifacts render correctly in app.humanlayer.dev, but .humanlayer\tasks<task>\ and ~.humanlayer\riptide\artifacts<session>\ are created and stay empty. No artifact is ever synced to disk on Windows.

riptide-daemon/src/lib/artifact-path-validation.ts

Expected Behavior

Artifacts should be written to the task directory on disk, matching what app.humanlayer.dev shows. A direct child of the task directory must not be flagged as path traversal.

Steps to Reproduce

  1. On Windows, run a riptide/CodeLayer task that produces artifacts (e.g. ticket.md or a design doc); confirm they appear in app.humanlayer.dev.
  2. Inspect .humanlayer\tasks<task>\ and ~.humanlayer\riptide\artifacts<session>\ — both are empty.
  3. Check ~.humanlayer\riptide\logs\error-riptided-prod-*.jsonl — every artifact write is logged as Rejected artifact write in sync: path traversal detected.

Context

The daemon creates the session/task directories but rejects all file writes into them.

Environment:

  • Component: hld (riptide-daemon) — artifact sync path validation; also bundled in hlyr / @humanlayer/cli
  • Version: daemon riptided-prod 0.29.6 (@humanlayer/cli package 0.29.6; humanlayer -v reports 0.29.0)
  • OS: Windows 11 Enterprise, 10.0.26200 (x64)
  • Node/Go version (if applicable): Node v26.3.0

Nightly build version:

Claude code version: 2.1.207