Skip to content

Action fails on runners without AVX CPU support #1097

@exciton

Description

@exciton

Describe the bug
Recent versions of claude built with bun don't work on machines that don't have AVX CPU instructions. See here for details: https://blog.stackademic.com/claude-cli-suddenly-crashing-cpu-lacks-avx-support-error-on-remote-vps-heres-the-quick-fix-18d05c4fae6d

To Reproduce
Steps to reproduce the behavior:

  1. Run claude-code-action on a self-hosted runner that doesn't support AVX
  2. Note that it fails attempting to execute bun run with 748 Illegal instruction bun run ${GITHUB_ACTION_PATH}/src/entrypoints/post-buffered-inline-comments.ts

Expected behavior
The action should work equally well on hardware with and without AVX. The npm version of claude works fine on hardware without AVX, for example.

Workflow yml file

name: Claude Code

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  issues:
    types: [opened, assigned]
  pull_request_review:
    types: [submitted]

jobs:
  claude:
    if: |
      (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
      (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
    runs-on: [self-hosted,linux]
    permissions:
      contents: read
      pull-requests: read
      issues: read
      id-token: write
      actions: read # Required for Claude to read CI results on PRs
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 1

      - name: Run Claude Code
        id: claude
        uses: anthropics/claude-code-action@v1
        with:
          claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}

          # This is an optional setting that allows Claude to read CI results on PRs
          additional_permissions: |
            actions: read
          # Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
          # prompt: 'Update the pull request description to include a summary of changes.'

          # Optional: Add claude_args to customize behavior and configuration
          # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
          # or https://code.claude.com/docs/en/cli-reference for available options
          # claude_args: '--allowed-tools Bash(gh pr:*)'

API Provider

[X] Anthropic First-Party API (default)
[ ] AWS Bedrock
[ ] GCP Vertex

Additional context
It should be feasible to create an option which pull claude from npm rather than bun - or a set of help text to show someone how to do this manually (maybe with an older version of bun).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingp2Non-showstopper bug or popular feature request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions