junegunn/fzf · error

multiple keys specified

Error message

multiple keys specified

What it means

Thrown by parseToggleSort when parsing --bind-toggle-sort. This option takes exactly one key chord; parseKeyChords may return multiple (because it accepts comma-separated multi-key notation), and anything other than exactly one key is rejected.

Source

Thrown at src/options.go:2215

	case "bg-transform-query":
		return actBgTransformQuery
	case "bg-transform-search":
		return actBgTransformSearch
	case "trigger":
		return actTrigger
	case "search":
		return actSearch
	}
	return actIgnore
}

func parseToggleSort(keymap map[tui.Event][]*action, str string) error {
	keys, _, err := parseKeyChords(str, "key name required")
	if err != nil {
		return err
	}
	if len(keys) != 1 {
		return errors.New("multiple keys specified")
	}
	keymap[firstKey(keys)] = toActions(actToggleSort)
	return nil
}

func strLines(str string) []string {
	return strings.Split(strings.TrimSuffix(str, "\n"), "\n")
}

func parseSize(str string, maxPercent float64, label string) (sizeSpec, error) {
	var spec = sizeSpec{}
	var val float64
	var err error
	percent := strings.HasSuffix(str, "%")
	if percent {
		if val, err = atof(str[:len(str)-1]); err != nil {
			return spec, err
		}

View on GitHub (pinned to bd4efa277b)

Solutions

  1. Pass a single key: `--bind-toggle-sort ctrl-t`
  2. If several keys must toggle sort, repeat the option once per key

Example fix

# before
fzf --bind-toggle-sort 'ctrl-t,alt-s'
# after
fzf --bind-toggle-sort ctrl-t --bind-toggle-sort alt-s
Defensive patterns

Strategy: validation

Validate before calling

# bash: exactly one key for --bind-toggle-sort
[ "$(IFS=','; set -- $1; echo $#)" -eq 1 ] || { echo "one key only" >&2; exit 1; }
fzf --bind-toggle-sort "$1"

Prevention

When it happens

Trigger: `--bind-toggle-sort 'a,b'` (two keys given), or an empty/edge string that yields a count != 1.

Common situations: Assuming --bind-toggle-sort behaves like --bind and supports multi-key binds; copy-pasting a multi-key chord from a --bind line into --bind-toggle-sort.

Related errors


AI-assisted analysis of junegunn/fzf@bd4efa277b (2026-08-15). Data as JSON: /api/errors/c2b33d67111627e0. Report an issue: GitHub.