kovidgoyal/kitty · warning
Invalid quality specification: {quality}
Error message
Invalid quality specification: {quality} What it means
The first argument to resize_window is not a recognized resize quality; kitty substitutes 'wider'.
Source
Thrown at kitty/options/utils.py:303
def neighboring_window(func: str, rest: str) -> FuncArgsType:
rest = rest.lower()
rest = {'up': 'top', 'down': 'bottom'}.get(rest, rest)
if rest not in ('left', 'right', 'top', 'bottom'):
log_error(f'Invalid neighbor specification: {rest}')
rest = 'right'
return func, [rest]
@func_with_args('resize_window')
def resize_window(func: str, rest: str) -> FuncArgsType:
vals = rest.strip().split(maxsplit=1)
if len(vals) > 2:
log_error('resize_window needs one or two arguments, using defaults')
args = ['wider', 1]
else:
quality = vals[0].lower()
if quality not in ('reset', 'taller', 'shorter', 'wider', 'narrower'):
log_error(f'Invalid quality specification: {quality}')
quality = 'wider'
increment = 1
if len(vals) == 2:
try:
increment = int(vals[1])
except Exception:
log_error(f'Invalid increment specification: {vals[1]}')
args = [quality, increment]
return func, args
@func_with_args('move_window')
def move_window(func: str, rest: str) -> FuncArgsType:
rest = rest.lower()
rest = {'up': 'top', 'down': 'bottom'}.get(rest, rest)
prest: int | str = rest
try:
prest = int(prest)View on GitHub (pinned to 6d5d0c4406)
Solutions
- Use one of: reset, taller, shorter, wider, narrower
- Check spelling and case (the value is lowercased, so case is forgiving)
Example fix
# before map f1 resize_window bigger 3 # after map f1 resize_window wider 3
Defensive patterns
Strategy: validation
Validate before calling
q = 'taller'
ok = q in ('reset','taller','shorter','wider','narrower') Prevention
- Memorize the five quality keywords
- Case-insensitive but spelling must match
When it happens
Trigger: `map f1 resize_window bigger 3` — 'bigger' not in ('reset','taller','shorter','wider','narrower').
Common situations: Guessing intuitive names like 'grow'/'shrink'/'bigger' instead of kitty's fixed set.
Understand the failure class
Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.
Related errors
- resize_window needs one or two arguments, using defaults
- Invalid increment specification: {vals[1]}
- Unknown signal: {rest} ignoring
- Invalid change_font_size specification: {rest}, treating it
- clear_terminal needs two arguments, using defaults
AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27).
Data as JSON: /api/errors/9d66a55537892598.
Report an issue: GitHub.