go-redis/redis · error
redis: AUTH is not allowed when client-side caching is enabl
Error message
redis: AUTH is not allowed when client-side caching is enabled
What it means
Error "redis: AUTH is not allowed when client-side caching is enabled" thrown in go-redis/redis.
Source
Thrown at csc_integration.go:528
} } // errClientTrackingWithCSC rejects CLIENT TRACKING on clients with built-in CSC // (see the guards in baseClient.process and generalProcessPipeline). The raw // escape hatches — Do(ctx, "client", "tracking", ...) with string or []byte // args, and pipelines — are also caught: the guard matches on the command's // leading args, not the typed method. var errClientTrackingWithCSC = errors.New( "redis: CLIENT TRACKING is not allowed when client-side caching is enabled") // errSelectWithCSC rejects runtime SELECT on clients with built-in CSC. Cache // keys use Options.DB, while SELECT mutates only the chosen pool connection. var errSelectWithCSC = errors.New( "redis: SELECT is not allowed when client-side caching is enabled") // errAuthWithCSC rejects runtime authentication because it can change one // connection's ACL identity without changing the client's fixed cache namespace. var errAuthWithCSC = errors.New( "redis: AUTH is not allowed when client-side caching is enabled") // errHelloWithCSC rejects HELLO with arguments because it can switch a tracked // connection out of RESP3 (and can also change authentication). var errHelloWithCSC = errors.New( "redis: HELLO with arguments is not allowed when client-side caching is enabled") // errResetWithCSC rejects RESET because it disables tracking and switches the // connection to RESP2. var errResetWithCSC = errors.New( "redis: RESET is not allowed when client-side caching is enabled") // errSubscribeWithCSC rejects raw subscriptions on the ordinary pool. The // typed Subscribe methods use dedicated PubSub connections and remain allowed. var errSubscribeWithCSC = errors.New( "redis: SUBSCRIBE is not allowed on pooled connections when client-side caching is enabled") // cscCommandError rejects commands that can make a pooled connection's state
View on GitHub (pinned to 36d97525cd)
Solutions
- Provide credentials in redis.Options so authentication happens at connection setup
- Do not issue AUTH manually on a CSC-enabled client
When it happens
Trigger: Thrown at csc_integration.go:528 when the library encounters an invalid state.
Common situations: Use the credential-provider options (CredentialsProvider) rather than ad-hoc AUTH commands.
AI-assisted analysis of go-redis/redis@36d97525cd (2026-08-06).
Data as JSON: /data/errors/4e4e2e00c947c1d5.json.
Report an issue: GitHub.