Skip to content

rpt's CLAUDE_CODE_OAUTH_TOKEN is expired -- Claude review + @claude agent fail at turn 1 #180

Description

@d-morrison

rpt's CLAUDE_CODE_OAUTH_TOKEN is expired -- Claude review and @claude agent silently fail at turn 1

Every claude-code-review run and every claude.yml @claude agent run on rpt fails immediately with the lapsed-credential signature: the run reports subtype: success but is_error: true, with num_turns: 1, total_cost_usd: 0, and duration_ms under a second -- i.e. the Anthropic API rejected the model call before any work, which for an OAuth token means it has expired.

Evidence

  • The repository secret CLAUDE_CODE_OAUTH_TOKEN was last updated 2026-05-15 (gh api repos/Morrison-Lab/rpt/actions/secrets/CLAUDE_CODE_OAUTH_TOKEN).
  • Two runs on PR TEST: exercise gha#400 duplicate-review fix (do not merge) #179, one automatic (standalone workflow) and one dispatched, both errored "after 1s": run 30860164827 and run 30861312436. The latter's result object: duration_ms: 543, num_turns: 1, total_cost_usd: 0, is_error: true.
  • Cross-repo control: Morrison-Lab/ai-config's CLAUDE_CODE_OAUTH_TOKEN (refreshed 2026-08-03) reviews normally (~$10/run), so the service is up and the fault is this repo's token specifically.

Fix

Regenerate the token with claude setup-token and update the CLAUDE_CODE_OAUTH_TOKEN repository secret (see the refresh-claude-token procedure). Both claude-code-review.yml and claude.yml read the same secret, so one refresh restores both.

Surfaced while using rpt as the live test bed for Morrison-Lab/gha#400.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions