kovidgoyal/kitty · error
invalid %s in video_preview: %s
Error message
invalid %s in video_preview: %s
What it means
The 'duration' key of video_preview failed strconv.ParseFloat — its value is not a valid floating point number (e.g. 'five', '5s', or empty).
Source
Thrown at kittens/choose_files/main.go:332
err = p.LoadConfig("choose-files.conf", opts.Config, opts.Override)
if err != nil {
return nil, err
}
ans.KeyboardShortcuts = config.ResolveShortcuts(ans.KeyboardShortcuts)
parts, err := shlex.Split(ans.Video_preview)
if err != nil {
return nil, err
}
for _, x := range parts {
k, v, found := strings.Cut(x, "=")
if !found {
return nil, fmt.Errorf("invalid value %s in video_preview", x)
}
var i uint64
switch k {
case "duration":
if video_duration, err = strconv.ParseFloat(v, 64); err != nil {
return nil, fmt.Errorf("invalid %s in video_preview: %s", k, v)
}
case "fps":
if i, err = strconv.ParseUint(v, 10, 0); err != nil {
return nil, fmt.Errorf("invalid %s in video_preview: %s", k, v)
}
video_fps = int(i)
case "width":
if i, err = strconv.ParseUint(v, 10, 0); err != nil {
return nil, fmt.Errorf("invalid %s in video_preview: %s", k, v)
}
video_width = int(i)
default:
return nil, fmt.Errorf("unrecognized key in video_preview: %s", k)
}
}
return ans, nil
}
View on GitHub (pinned to 6d5d0c4406)
Solutions
- Use a plain decimal number: duration=4.5
- Strip units — kitty assumes seconds
Example fix
# before --video-preview 'duration=5s,fps=10' # after --video-preview 'duration=5,fps=10'
Defensive patterns
Strategy: validation
Validate before calling
if _, err := strconv.ParseFloat(v, 64); err != nil { /* reject: duration must be a plain number */ } Prevention
- Never include units in numeric settings
- Validate config values in a preflight script
When it happens
Trigger: --video-preview 'duration=abc' or 'duration=' or a value with a unit suffix.
Common situations: Including units ('5s') or locale-specific decimal separators; typos in the number.
Related errors
- invalid value %s in video_preview
- unrecognized key in video_preview: %s
- This should be run as kitten broadcast
- No option named: {k}
- No custom kitten named {kitten} found
AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27).
Data as JSON: /api/errors/f059d39016f24b3e.
Report an issue: GitHub.