Description
claude-code-action consistently crashes on startup with Internal error: directory mismatch for directory tsconfig.json before Claude makes any API call. The Bun runtime exits with code 1 immediately after SDK initialization.
Error
SDK execution error: 53 | new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
error: Claude Code process exited with code 1
Internal error: directory mismatch for directory "/home/runner/work/_actions/anthropics/claude-code-action/657fb7c9c986158a19624b357bcbc8c6deb83598/tsconfig.json", fd 4. You don't need to do anything, but this indicates a bug.
Environment
- Runner:
ubuntu-24.04 (image 20260406.80.1) and ubuntu-22.04 (image 20260406.82.1) — both crash
- Bun: 1.3.6+d530ed993 (installed by the action via
oven-sh/setup-bun)
- Claude Code: 2.1.98 (native build, installed by the action)
- Action versions tested:
@v1 (v1.0.92), @v1.0.90, @v1.0.89, pinned SHA 657fb7c9c986158a19624b357bcbc8c6deb83598
- All crash identically.
What Works vs What Doesn't
| Time |
Runner Image |
Action Version |
Result |
| April 9, 21:15 UTC |
ubuntu-24.04, 20260406.80.1 |
@v1 (resolved to 657fb7c) |
Success — full run completed |
| April 9, 22:22 UTC |
ubuntu-24.04, 20260406.80.1 |
@v1 (resolved to 657fb7c) |
Success — full run completed |
| April 9, 23:03 UTC |
ubuntu-24.04, 20260406.80.1 |
@v1 |
Failure — tsconfig crash |
| April 10, 03:07-03:28 UTC |
ubuntu-24.04/22.04 |
@v1.0.90, @v1.0.89, pinned SHA |
All fail — tsconfig crash |
| April 10, 07:01 UTC |
ubuntu-24.04, 20260406.80.1 |
pinned SHA 657fb7c |
Failure — tsconfig crash |
The same action SHA that succeeded at 22:22 UTC crashes at 23:03 UTC on the same runner image version. No workflow changes between the runs.
Reproduction
Minimal workflow:
name: Test
on: workflow_dispatch
jobs:
test:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: "Say hello"
claude_args: "--model claude-sonnet-4-6 --max-turns 1"
github_token: ${{ secrets.GITHUB_TOKEN }}
Failed Run Links
Analysis
The crash occurs in the Bun runtime's file descriptor handling (fd 4) when resolving tsconfig.json. It's not version-specific (tested 3 versions + pinned SHA) and not runner-OS-specific (tested ubuntu-22.04 and ubuntu-24.04). The error message itself says "You don't need to do anything, but this indicates a bug" — it appears to be a known Bun issue that became consistently reproducible after ~23:00 UTC on April 9, 2026.
The same error appears as a non-fatal warning in some successful runs (e.g., in the post-step cleanup), but in the failing runs it crashes the main Claude Code process before any API call is made.
Description
claude-code-actionconsistently crashes on startup withInternal error: directory mismatch for directory tsconfig.jsonbefore Claude makes any API call. The Bun runtime exits with code 1 immediately after SDK initialization.Error
Environment
ubuntu-24.04(image20260406.80.1) andubuntu-22.04(image20260406.82.1) — both crashoven-sh/setup-bun)@v1(v1.0.92),@v1.0.90,@v1.0.89, pinned SHA657fb7c9c986158a19624b357bcbc8c6deb83598What Works vs What Doesn't
The same action SHA that succeeded at 22:22 UTC crashes at 23:03 UTC on the same runner image version. No workflow changes between the runs.
Reproduction
Minimal workflow:
Failed Run Links
Analysis
The crash occurs in the Bun runtime's file descriptor handling (
fd 4) when resolvingtsconfig.json. It's not version-specific (tested 3 versions + pinned SHA) and not runner-OS-specific (tested ubuntu-22.04 and ubuntu-24.04). The error message itself says "You don't need to do anything, but this indicates a bug" — it appears to be a known Bun issue that became consistently reproducible after ~23:00 UTC on April 9, 2026.The same error appears as a non-fatal warning in some successful runs (e.g., in the post-step cleanup), but in the failing runs it crashes the main Claude Code process before any API call is made.