kovidgoyal/kitty · warning
The option is deprecated. Use macos_show_window_title_in…
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.
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
- Percentage adjustments of
- Send text: is invalid ( ), ignoring
- The option is deprecated. Use hide_window_decorations…
- The option is deprecated. Use scrollbar instead.
- The value is not a valid choice for window_title_bar
AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27).
Data as JSON: /api/errors/3459ef4ca19d6926.
Report an issue: GitHub.
Appendix: 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)