kovidgoyal/kitty · warning · SystemExit

This should be run as kitten broadcast

Error message

This should be run as kitten broadcast

What it means

kitty could not load the default window logo (per-window image overlay configured via window_logo_path) when initializing a new OSWindow in initialize_window (kitty/state.c:380). The path is unreadable or the image failed to decode; the error message prints the configured path. PyErr_Print() output follows if Python-level image loading raised.

Source

Thrown at kittens/broadcast/main.py:31

Useful while typing a password, prevents the password from being visible on the screen.


--end-session
default=Ctrl+Esc
Key to press to end the broadcast session.


"""
    + MATCH_WINDOW_OPTION
    + '\n\n'
    + MATCH_TAB_OPTION.replace('--match -m', '--match-tab -t')
).format
help_text = 'Broadcast typed text to kitty windows. By default text is sent to all windows, unless one of the matching options is specified'
usage = '[initial text to send ...]'


def main(args: list[str]) -> None:
    raise SystemExit('This should be run as kitten broadcast')


if __name__ == '__main__':
    main(sys.argv)
elif __name__ == '__doc__':
    cd = sys.cli_docs  # type: ignore
    cd['usage'] = usage
    cd['options'] = OPTIONS
    cd['help_text'] = help_text
    cd['short_desc'] = 'Broadcast typed text to kitty windows'

View on GitHub (pinned to 6d5d0c4406)

Solutions

  1. Check the printed path exists and is readable: ls -l <path>.
  2. Use an absolute path; kitty does not expand ~ or env vars in all contexts.
  3. Convert the image to PNG or JPEG (the supported formats) and retry.
  4. Verify permissions if running kitty under a different user/sandbox.

Example fix

# before
window_logo_path ~/pics/logo.webp
# after
window_logo_path /home/user/pics/logo.png
Defensive patterns

Strategy: validation

Validate before calling

# in kitty.conf, use a path that exists and is a supported format
window_logo_path /home/user/pics/logo.png

Prevention

When it happens

Trigger: Setting window_logo_path in kitty.conf to a nonexistent/unreadable file or unsupported/corrupt image format, then creating any window (startup or new OS window / --single-instance opens). Also via set_window_logo failing during pycreate_mock_window in tests.

Common situations: Typo in the path, tilde not expanded in some contexts, file permissions, SVG or exotic format not supported, or a truncated download used as a logo.

Related errors


AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27). Data as JSON: /api/errors/f0c1360fe3bdf232. Report an issue: GitHub.