Skip to content

1.1.8

Choose a tag to compare

@BonzTM BonzTM released this 03 Apr 16:10
· 1 commit to main since this release

Bug Fix: Container bootstrap crash-loop

Resolves a crash-loop on first Kubernetes deploy where the pod would exit before the user could exec in to complete the initial OAuth login.

Fixed

  • Container bootstrap crash-loop — The serve command previously attempted an interactive login flow when no tokens existed. In a container (no interactive stdin), this caused an immediate exit before the HTTP server started, making kubectl exec ... login --no-browser impossible. The container image now sets CLAUDE_OAUTH_PROXY_NO_AUTO_LOGIN=true by default, so the server starts in an unauthenticated state and waits for a separate login command.

Added

  • CLAUDE_OAUTH_PROXY_NO_AUTO_LOGIN environment variable and NoAutoLogin config field. When set to true, 1, or yes, the serve command skips the interactive login prompt on startup and starts the HTTP server immediately. The readiness probe (/readyz) returns 503 not_ready until a valid OAuth session is established via a separate login invocation. The liveness probe (/livez) is unaffected.

Deployment

The Kubernetes bootstrap flow documented in the README now works as written:

# 1. Install chart (pod starts, readiness probe reports not_ready)
helm upgrade --install claude-oauth-proxy claude-oauth-proxy/claude-oauth-proxy \
  --namespace claude-oauth-proxy --create-namespace \
  --set config.apiKey.existingSecret.name=claude-oauth-proxy

# 2. Bootstrap login inside the running pod
kubectl exec -it -n claude-oauth-proxy deployment/claude-oauth-proxy -- \
  /usr/local/bin/claude-oauth-proxy login --no-browser

# 3. Readiness probe passes, proxy begins serving traffic

Full release notes: docs/release-notes/RELEASE_NOTES_1.1.8.md