qishibo/AnotherRedisDesktopManager · error
Command Error, Check Config!
Error message
Command Error, Check Config!
What it means
Not a thrown error but the execResult string 'Command Error, Check Config!' set when getCommand() returns falsy in the custom binary viewer. ViewerCustom renders value through a user-configured external command (custom decode config, per-key pattern with {VALUE}/{HEX}/{HEX_FILE} placeholders); getCommand() resolves the command for the current key, and an empty/missing configuration yields this inline message instead of running anything.
Source
Thrown at src/components/viewers/ViewerCustom.vue:85
// "{VALUE}": this.content,
'{FIELD}': dataMap.key,
'{SCORE}': dataMap.score,
'{MEMBER}': dataMap.member,
};
const re = new RegExp(Object.keys(mapObj).join('|'), 'gi');
return params.replace(re, matched => mapObj[matched]);
},
execCommand() {
if (!this.content || !this.content.length) {
return this.execResult = '';
}
const command = this.getCommand();
const hexStr = this.content.toString('hex');
if (!command) {
return this.execResult = 'Command Error, Check Config!';
}
this.fullCommand = command.replace(
'{VALUE}',
this.content,
);
// in case of long content in template
this.previewCommand = command.replace(
'{VALUE}',
this.$util.cutString(this.content.toString(), this.previewContentMax),
);
// if content is too long, write to file simultaneously
// hex str is about 2 times of real size
if (hexStr.length > this.writeHexFileSize) {
ipcRenderer.invoke('getTempPath').then((reply) => {
// target file nameView on GitHub (pinned to c149855106)
Solutions
- Open the custom viewer configuration and fill in a complete command containing {VALUE} (and optionally {HEX}/{HEX_FILE}) for the matching rule
- Verify the rule's match pattern actually targets the key you are viewing
- Check for per-connection custom config overriding a working global one
- Test the command in a terminal first to confirm it decodes your value
Example fix
// before
if (!command) {
return this.execResult = 'Command Error, Check Config!';
}
// after - point the user at the config
if (!command) {
return this.execResult = 'No command configured for this key. Open Settings > Custom Viewers and set one.';
} Defensive patterns
Strategy: validation
Validate before calling
const command = this.getCommand();
if (!command || !command.includes('{VALUE}')) {
this.execResult = 'Command Error, Check Config!';
return;
} Type guard
const isConfiguredCommand = (cmd) => typeof cmd === 'string' && cmd.trim().length > 0 && /\{VALUE\}|\{HEX(_FILE)?\}/.test(cmd); Prevention
- Always include {VALUE} (or {HEX}/{HEX_FILE}) in custom viewer commands
- Test commands in a terminal before saving the config
- Check both global and per-connection custom viewer configs for empty entries
When it happens
Trigger: A key matches a custom-viewer rule whose command field is blank or whose configured viewer was deleted; the custom command config entry exists but its command string trims to empty; the key's viewer type resolves to Custom with no command template attached.
Common situations: Setting up custom decoders (e.g. 'protoc --decode_raw', 'openssl enc -d ...') and forgetting to fill the command input; editing config.json by hand and leaving an empty command; rules defined globally but overridden per-connection with an empty command.
Related errors
- this.$t('message.group_name_required')
- this.$t('message.group_exists')
- Select a correct .proto file
- Select a correct Type to encode
- this.$t('message.json_format_failed')
AI-assisted analysis of qishibo/AnotherRedisDesktopManager@c149855106 (2026-08-22).
Data as JSON: /api/errors/4e7b018d5f42340c.
Report an issue: GitHub.