anthropics / anthropics/claude-code-action

Git hash-object fails with Remix routes containing $ characters - transforms $id to ..

Open
#239 2 comments 0 reactions 0 assignees View on GitHub
bug p1
Dominant language
TypeScript
Stars
8.9k
Forks
2.1k
Avg merge
3d 9h
Merged PRs (30d)
10

Description

## Description
The Claude Code Action fails when processing Remix route files that contain `$` characters in their directory names. The action transforms `$id` and `$fooId` into `..` (double dots) when calling `git hash-object`, causing file not found errors.

## Details
**Expected path**: `app/routes/app._app.foos.$fooId.bars.$Id.edit/route.jsx`
**Actual path being accessed**: `app/routes/app._app.foos..bars..edit/route.jsx`

## Environment
- **OS**: Ubuntu (GitHub Actions runner)
- **Action Version**: `@beta`
- **Repository**: Using Remix with nested route structure

## Steps to Reproduce
1. Create a Remix app with nested routes containing `$` parameters
2. Set up Claude Code Action with the standard workflow
3. Trigger the action on a PR containing these route files
4. Action fails when trying to compute SHA for files with `$` in path

## Expected Behavior
The action should properly handle `$` characters in file paths without transforming them to `..`

## Actual Behavior
`$` characters are being replaced with `..` causing file not found errors

## Possible Fix
The issue appears to be in the `fetcher.ts` file where filenames are being processed. The `$` characters need to be properly escaped or handled when passed to `git hash-object`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.