ERR value is not an integer or out of range Redis Origin: Data OSI layer 7 · Application Last updated 5 Nov 2026

Redis: (error) ERR value is not an integer or out of range

INCR/DECR/EXPIRE-style commands received a non-integer value or the stored string isn't an integer.

Exact message you may see ERR value is not an integer or out of range(error) ERR value is not an integer or out of rangeReplyError: ERR value is not an integer or out of rangeredis.exceptions.ResponseError: value is not an integer or out of rangeERR increment or decrement would overflow
Seen on: Redis Node.js

Meaning

Check the key's content: GET key. INCR requires the value to be a 64-bit integer string. Common with floats stored as strings ("1.5"), JSON, extra whitespace, or after APPEND. Use INCRBYFLOAT for decimals. Command arguments like EXPIRE key abc also raise it.

Common causes

  • INCR on a non-numeric string/JSON
  • Float stored then INCR (use INCRBYFLOAT)
  • Value overflow beyond 64-bit
  • Argument passed as non-integer (undefined, NaN)
  • Serialiser changed format

⚡ Quick fix

  1. GET key to inspect; fix/delete the value
  2. INCRBYFLOAT for decimals
  3. Validate arguments before sending (no NaN/undefined)

Detailed fix by platform

Linux

  1. redis-cli GET counter; redis-cli INCRBYFLOAT price 1.5

How to diagnose

  1. Value — Numeric string?
  2. Command — INCR vs INCRBYFLOAT?
  3. Args — Integers?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Data. Errors that are often confused with or caused by this one (click to open):

BullMQ: Missing lock for job / job stalled more than allowable limit — BullMQ: Error: Missing lock for job 42. moveToFinished / job stalled more than allowable limit (Redis)BullMQ: Missing lock …BUSY Redis is busy running a script — Redis: (error) BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE (Redis)BUSY Redis is busy ru…Celery with Redis: tasks run twice (visibility_timeout) — Celery: Task executed twice / Restoring unacked messages — Redis broker visibility_timeout shorter than task ETA (Redis)Celery with Redis: ta…Client output buffer limit reached (scheduled to be closed) — Redis: Client id=12 addr=10.0.0.5:51234 scheduled to be closed ASAP for overcoming of output buffer limits (Redis)Client output buffer …ERR unknown command — Redis: (error) ERR unknown command 'JSON.GET', with args beginning with: / unknown command 'FT.SEARCH' (Redis)ERR unknown commandERR wrong number of arguments / syntax error — Redis: (error) ERR wrong number of arguments for 'set' command / ERR syntax error (Redis)ERR wrong number of a…Redis::CannotConnectError (Sidekiq/Rails) — Redis::CannotConnectError: Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED) (Ruby / Rails)Redis::CannotConnectE…WRONGTYPE — WRONGTYPE Operation against a key holding the wrong kind of value (Node.js)WRONGTYPEERR value…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.