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 name

View on GitHub (pinned to c149855106)

Solutions

  1. Open the custom viewer configuration and fill in a complete command containing {VALUE} (and optionally {HEX}/{HEX_FILE}) for the matching rule
  2. Verify the rule's match pattern actually targets the key you are viewing
  3. Check for per-connection custom config overriding a working global one
  4. 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

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


AI-assisted analysis of qishibo/AnotherRedisDesktopManager@c149855106 (2026-08-22). Data as JSON: /api/errors/4e7b018d5f42340c. Report an issue: GitHub.