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
- Check the printed path exists and is readable: ls -l <path>.
- Use an absolute path; kitty does not expand ~ or env vars in all contexts.
- Convert the image to PNG or JPEG (the supported formats) and retry.
- 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
- Use absolute paths in kitty.conf.
- Pre-validate logo files: file logo.png should report PNG/JPEG image data.
- kitty logs and continues without the logo - check the log after config changes.
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
- This kitten must be used only from a kitty.conf mapping
- No option named: {k}
- No custom kitten named {kitten} found
- Not a number: {x} with error: {e}
- Not a valid unit: {x}. Allowed units are: {default_unit}, {"
AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27).
Data as JSON: /api/errors/f0c1360fe3bdf232.
Report an issue: GitHub.