kovidgoyal/kitty · warning
The option {key} is deprecated. Use macos_show_window_title_
Error message
The option {key} is deprecated. Use macos_show_window_title_in menubar instead. What it means
macos_show_window_title_in_menubar is deprecated in favor of macos_show_window_title_in; kitty logs once per key (note the memoization writes attribute 'key' rather than the actual key, so the warning may repeat for distinct keys) and translates the boolean into the new option's value.
Source
Thrown at kitty/options/utils.py:1880
continue
seen[c] = len(ans)
ans.append((c, o))
return tuple(ans[:7])
def deprecated_hide_window_decorations_aliases(key: str, val: str, ans: dict[str, Any]) -> None:
if not hasattr(deprecated_hide_window_decorations_aliases, key):
setattr(deprecated_hide_window_decorations_aliases, key, True)
log_error(f'The option {key} is deprecated. Use hide_window_decorations instead.')
if to_bool(val):
if is_macos and key == 'macos_hide_titlebar' or (not is_macos and key == 'x11_hide_window_decorations'):
ans['hide_window_decorations'] = True
def deprecated_macos_show_window_title_in_menubar_alias(key: str, val: str, ans: dict[str, Any]) -> None:
if not hasattr(deprecated_macos_show_window_title_in_menubar_alias, key):
setattr(deprecated_macos_show_window_title_in_menubar_alias, 'key', True)
log_error(f'The option {key} is deprecated. Use macos_show_window_title_in menubar instead.')
macos_show_window_title_in = ans.get('macos_show_window_title_in', 'all')
if to_bool(val):
if macos_show_window_title_in == 'none':
macos_show_window_title_in = 'menubar'
elif macos_show_window_title_in == 'window':
macos_show_window_title_in = 'all'
else:
if macos_show_window_title_in == 'all':
macos_show_window_title_in = 'window'
elif macos_show_window_title_in == 'menubar':
macos_show_window_title_in = 'none'
ans['macos_show_window_title_in'] = macos_show_window_title_in
def deprecated_send_text(key: str, val: str, ans: dict[str, Any]) -> None:
parts = val.split(' ')
def abort(msg: str) -> None:View on GitHub (pinned to 6d5d0c4406)
Solutions
- Replace with macos_show_window_title_in none|window|menubar|all.
- Remove the old boolean line.
- Verify merged behavior if both old and new options are present.
Example fix
# before macos_show_window_title_in_menubar yes # after macos_show_window_title_in menubar
Defensive patterns
Strategy: fallback
Validate before calling
def uses_deprecated_menubar_title(cfg: str) -> bool:
return 'macos_show_window_title_in_menubar' in cfg Type guard
def uses_deprecated_menubar_title(cfg: str) -> bool:
return 'macos_show_window_title_in_menubar' in cfg Prevention
- Replace with macos_show_window_title_in menubar/window/none/all
- Remove old boolean once migrated
When it happens
Trigger: Setting 'macos_show_window_title_in_menubar yes/no' in kitty.conf.
Common situations: Configs predating the menubar/window/all option; combining the old boolean with the new option and getting surprising merged results ('none'->'menubar', 'window'->'all').
Related errors
- The value {val} is not a valid choice for window_title_bar
- The option {key} is deprecated. Use hide_window_decorations
- Send text: {val} is invalid ({msg}), ignoring
- Percentage adjustments of {key} must be positive numbers
- The option {key} is deprecated. Use scrollbar instead.
AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27).
Data as JSON: /api/errors/3459ef4ca19d6926.
Report an issue: GitHub.