---
name: /tmp resolves to two different paths on Windows
description: On Windows machines (Howard's, etc.), the Write tool and Git Bash resolve `/tmp` to different real directories. Never use `/tmp/<file>` for handing JSON payloads from Write to curl — they will not see the same file.
type: feedback
---

On Windows under this Claude Code harness:

- **Write tool** resolves `/tmp/foo.json` → `C:\tmp\foo.json`
- **Git Bash + curl + cat** resolve `/tmp/foo.json` → `C:\Users\<user>\AppData\Local\Temp\foo.json`

These are two different real directories. Write reports "File created successfully at: /tmp/foo.json" but the bytes land in `C:\tmp\`, while bash commands later read a stale (or missing) file from `C:\Users\<user>\AppData\Local\Temp\`.

**Why:** Git Bash's MSYS layer mounts `/tmp` to `%TEMP%`. The Claude Code Write tool resolves Unix-style absolute paths against the Windows root instead.

**How to apply:** When passing a JSON payload from Write to a Bash curl call (Syncro, GitHub, any REST API), do ONE of the following — never use `/tmp/`:

1. **Heredoc inline in curl** (preferred for short payloads):
   ```bash
   curl -s -X POST "$URL" -H "Content-Type: application/json" -d @- <<'JSON'
   {"subject": "...", "body": "..."}
   JSON
   ```

2. **Write to a workspace path both tools agree on**, e.g. under the repo:
   ```
   C:\claudetools\.claude\tmp\payload.json
   ```
   (gitignored if needed). Both Write and Bash will hit the same file there.

3. **If you must use a temp dir, use `$TEMP` / `$TMPDIR` in bash, and write the file via Bash heredoc rather than the Write tool.**

**Real incident — 2026-05-01 ticket #32225 (Sombra Residential):** Wrote a Sombra resolution payload to `/tmp/comment_payload.json` via Write tool. Curl read a stale Cascades/Karen Rossini payload from yesterday's session at the bash-side `/tmp`. POSTed the wrong comment to the Sombra ticket — comment #408671678 had completely unrelated content and required manual GUI deletion (Syncro has no API delete for comments).

**Note for skill authors:** The `syncro` skill examples use `/tmp/` paths. Those examples are unsafe on Windows and need to be updated to use heredoc or workspace paths.
