You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: prevent indefinite hang when OAuth token expires
Adds timeout mechanism and authentication error detection to prevent
indefinite hangs when OAuth tokens expire or become invalid. Implements
graceful and forced process termination with clear error guidance.
- Add configurable timeout (default 15 minutes) via claude_code_timeout_ms input
- Detect authentication errors in real-time during execution
- Provide actionable error messages for expired tokens/subscriptions
- Add comprehensive test coverage for error detection
- Enhance validation error messages with timeout behavior notes
Fixes issue where expired OAuth tokens cause GitHub Actions to hang
indefinitely at "Setting up Claude Code..." without any feedback.
Copy file name to clipboardExpand all lines: action.yml
+5Lines changed: 5 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -113,6 +113,10 @@ inputs:
113
113
description: "Newline-separated list of Claude Code plugin marketplace Git URLs to install from (e.g., 'https://github.com/user/marketplace1.git\nhttps://github.com/user/marketplace2.git')"
114
114
required: false
115
115
default: ""
116
+
claude_code_timeout_ms:
117
+
description: "Maximum time in milliseconds to wait for Claude Code execution before timing out (default: 900000 = 15 minutes). Prevents indefinite hangs when authentication fails or tokens expire."
Copy file name to clipboardExpand all lines: base-action/action.yml
+5Lines changed: 5 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -67,6 +67,10 @@ inputs:
67
67
description: "Newline-separated list of Claude Code plugin marketplace Git URLs to install from (e.g., 'https://github.com/user/marketplace1.git\nhttps://github.com/user/marketplace2.git')"
68
68
required: false
69
69
default: ""
70
+
claude_code_timeout_ms:
71
+
description: "Maximum time in milliseconds to wait for Claude Code execution before timing out (default: 900000 = 15 minutes). Prevents indefinite hangs when authentication fails or tokens expire."
0 commit comments