
Step by Step Guide to solve n8n Redis command error
Who this is for: n8n developers who use the Redis node in production workflows and need fast, reliable fixes for command‑related errors. For a complete overview of Redis usage, errors, performance tuning, and scaling in n8n, check out our detailed guide on Redis for n8n Workflows.
Quick Diagnosis
| Redis error code | Typical cause in n8n | One‑line fix |
|---|---|---|
ERR unknown command |
Miss‑typed command or unsupported Redis version | Update the Command field to a valid Redis command that matches the server version. |
WRONGTYPE Operation against a key holding the wrong kind of value |
Using a list command on a string key (or vice‑versa) | Verify the key’s data type with TYPE <key> and adjust the node’s Operation accordingly. |
BUSYKEY Target key name already exists |
`SETNX` or `HSETNX` on an existing key | Use SET/HSET with the Overwrite flag or delete the key first (DEL <key>). |
NOAUTH Authentication required. |
Missing or wrong Authentication credentials in the node | Fill the Authentication section with the correct password or enable AUTH in the Credentials. |
ERR syntax error |
Incorrect command syntax (e.g., missing spaces, wrong quoting) | Follow the exact Redis CLI syntax shown in the Command field; wrap values with double quotes if they contain spaces. |
Apply the appropriate fix, then re‑run the node. If the error persists, follow the detailed troubleshooting steps below.
1. Why n8n Redis command errors happen
The Redis node is a thin wrapper around the ioredis client. It forwards the exact string from the Command field to the server, so:
| Error source | What you see in n8n | Why it appears |
|---|---|---|
| Syntax errors | ERR syntax error |
Same as the Redis CLI – the server can’t parse the command string. |
| Data‑type mismatches | WRONGTYPE |
The node’s Operation (e.g., List → LPOP) doesn’t match the actual key type. |
| Version incompatibility | ERR unknown command |
You’re using a command introduced after the server’s version (e.g., JSON.SET without RedisJSON). |
Treat the node as a remote CLI session; fixing the command string resolves the error. If Redis authentication errors are blocking your n8n workflows, see our complete n8n Redis guide for troubleshooting tips.
2. Mapping Redis error codes to n8n node settings
| Redis error code | n8n field(s) involved | Typical mis‑configuration | Corrective action |
|---|---|---|---|
ERR unknown command |
Command | Typo, unsupported command, missing module | Verify spelling; install required module (redis-cli MODULE LIST). |
WRONGTYPE |
Operation + Key | List command on a string key, hash command on a set, etc. | Run TYPE {{ $json.key }} first; then select the matching Operation. |
BUSYKEY |
Command (SETNX/HSETNX) | Creating a key that already exists | Use SET/HSET with Overwrite, or prepend a DEL node. |
NOAUTH |
Credentials → Password | No password or wrong password set | Add the correct password; ensure requirepass is configured on the server. |
ERR syntax error |
Command | Missing spaces, wrong quoting, extra commas | Replicate exact redis-cli syntax; double‑quote arguments containing spaces. |
LOADING |
Connection | Server still loading data after a restart | Add a short Wait node (≈5 s) or retry with exponential back‑off. |
OOM command not allowed |
Command | Value exceeds maxmemory policy |
Reduce payload size or increase maxmemory / change eviction policy. |
3. Step‑by‑step troubleshooting sub‑workflow
Below is a reusable n8n sub‑workflow that automatically resolves WRONGTYPE errors by checking the key’s type first.
3.1. Check the key’s data type
{
"parameters": {
"command": "TYPE {{ $json.key }}",
"options": {}
},
"name": "Check key type",
"type": "n8n-nodes-base.redis",
"typeVersion": 1,
"position": [250, 300]
}
3.2. Dynamically set the correct operation
{
"parameters": {
"functionCode": "// Adjust operation based on key type\nif ($json === 'list') {\n $node[\"Redis Command\"].parameters.operation = 'LPOP';\n} else if ($json === 'string') {\n $node[\"Redis Command\"].parameters.operation = 'GET';\n}\nreturn items;"
},
"name": "Set correct operation",
"type": "n8n-nodes-base.function",
"typeVersion": 1,
"position": [500, 300]
}
3.3. Execute the original command with the proper operation
{
"parameters": {
"command": "{{ $json.command }}",
"options": {}
},
"name": "Redis Command",
"type": "n8n-nodes-base.redis",
"typeVersion": 1,
"position": [750, 300]
}
3.4. Wire the nodes together
{
"connections": {
"Check key type": {
"main": [
[
{
"node": "Set correct operation",
"type": "main",
"index": 0
}
]
]
},
"Set correct operation": {
"main": [
[
{
"node": "Redis Command",
"type": "main",
"index": 0
}
]
]
}
}
}
How it works
- Check key type – Runs
TYPE <key>to discover the real data type. - Set correct operation – A Function node updates the next Redis node’s Operation based on that type.
- Redis Command – Executes the intended command without triggering
WRONGTYPE.
Add this sub‑workflow after any node that previously raised a WRONGTYPE error. Facing connection issues with Redis in n8n? Explore our full n8n Redis guide for solutions and best practices.
4. Fixing common syntax pitfalls
| Symptom | Incorrect example | Correct example | Why it fails |
|---|---|---|---|
| Missing space between command & key | GETmykey |
GET mykey |
Redis parses tokens by spaces; concatenated string is treated as an unknown command. |
| Unquoted value with spaces | SET mykey hello world |
SET mykey "hello world" |
Without quotes, Redis interprets world as a separate argument, causing ERR syntax error. |
| Single quotes in JSON payload (ioredis JSON mode) | JSON.SET mykey . '{"name":"John"}' |
JSON.SET mykey . "{\"name\":\"John\"}" |
ioredis sends the string verbatim; single quotes are not stripped, breaking the JSON. |
| CSV‑style argument list | HMSET myhash field1,value1,field2,value2 |
HMSET myhash field1 value1 field2 value2 |
Redis expects space‑separated key/value pairs, not commas. |
Quick‑fix checklist
- ✅ Separate command and each argument with single spaces.
- ✅ Wrap any argument containing spaces or special characters in double quotes.
- ✅ Escape double quotes inside JSON strings (
\"). - ✅ Validate the final string in a local Redis CLI before copying to n8n.
5. Production‑grade EEFA (Experience, Expertise, Authority, Trust) notes
| Best practice | Why it matters | How to implement in n8n |
|---|---|---|
| Rate limiting | Prevents intermittent BUSYKEY or OOM under load |
Enable *Concurrency* limits on the Execute Workflow node. |
| Version pinning | Guarantees command compatibility | Store REDIS_VERSION in an environment variable; add a Run Command node that aborts if INFO SERVER reports an older version. |
| Secure credentials | Avoids credential leakage | Use Credentials → Redis with encrypted storage; never embed passwords in the Command field. |
| Observability | Simplifies post‑mortem analysis | After each Redis call, use a Set node to push {{ $node["Redis Command"].json }} to a logging service (e.g., Loki). |
| Rollback strategy | Ensures idempotent workflows | On WRONGTYPE or BUSYKEY, prepend a Delete key node before retrying. |
6. Full error‑code reference (copy‑paste for docs)
Want to log and monitor Redis errors in n8n efficiently? Check our comprehensive n8n Redis guide.
| Code | Description | n8n Field(s) | Typical Fix | |--------------------------|-------------------------------------------|-----------------------------|-----------------------------------------------| | ERR unknown command | Command not recognized by server | Command | Verify spelling; install missing module | | WRONGTYPE | Operation mismatched with key type | Operation + Key | Run TYPE first; adjust operation | | BUSYKEY | Key already exists (SETNX/HSETNX) | Command | Use SET/HSET with Overwrite or DEL first | | NOAUTH | Authentication required | Credentials → Password | Provide correct password; enable AUTH | | ERR syntax error | CLI parsing failed | Command | Add spaces, quote arguments | | LOADING | Server still loading data | Connection | Add delay or retry with back‑off | | OOM command not allowed | Memory limit exceeded | Command | Reduce payload or increase maxmemory | | READONLY | Write attempted on replica | Command | Use a writable master or enable write‑through | | CLUSTERDOWN | Cluster unavailable | Connection | Verify cluster health; retry after failover |
Conclusion
By directly mapping each Redis error code to the corresponding n8n node field and applying the systematic fixes above, you turn cryptic “command error” messages into deterministic, repeatable workflow steps. This approach restores reliability, preserves production‑grade security, and keeps your n8n automations running smoothly.



