kovidgoyal/kitty · error · SystemExit
You are missing the {args[0]} program needed to generate the
Error message
You are missing the {args[0]} program needed to generate the kitty logo What it means
Raised by run() in kitty's logo asset generator when subprocess.check_call fails with OSError, meaning the external program needed to render the kitty logo (e.g. rsvg-convert, inkscape, or similar) is not installed or not found on PATH. It exits with a SystemExit telling you which program is missing. This is a build-time tool, not runtime kitty code.
Source
Thrown at logo/make.py:52
}
],
'shadow': {'kind': 'neutral', 'opacity': 0.5},
'translucency': {'enabled': True, 'value': 0.5},
}
],
'supported-platforms': {'circles': ['watchOS'], 'squares': 'shared'},
}
def abspath(x: str) -> str:
return os.path.abspath(os.path.join(base, x))
def run(*args: str) -> None:
try:
subprocess.check_call(args)
except OSError:
raise SystemExit(f'You are missing the {args[0]} program needed to generate the kitty logo')
def get_svg_viewbox(file_path: str) -> tuple[float, ...]:
import xml.etree.ElementTree as ET
tree = ET.parse(file_path)
root = tree.getroot()
viewbox = root.get('viewBox')
if viewbox:
return tuple(float(x) for x in viewbox.split())
width = root.get('width')
height = root.get('height')
return (0.0, 0.0, float(width or 0), float(height or 0))
def create_icon(name: str, svg_path: str, output_path: str) -> str:
view_box = get_svg_viewbox(svg_path)
sz = view_box[-1]View on GitHub (pinned to 6d5d0c4406)
Solutions
- Install the missing program named in the message (e.g. `sudo apt install librsvg2-bin` for rsvg-convert, or inkscape)
- Verify with `which <program>` that it is on PATH in the same environment used to run make.py
- If you don't need to regenerate assets, use the pre-generated logo files already committed to the repo instead of running the script
Example fix
# before python logo/make.py # SystemExit: You are missing the rsvg-convert program... # after sudo apt install librsvg2-bin python logo/make.py
Defensive patterns
Strategy: validation
Validate before calling
import shutil
def can_build_logo(prog: str) -> bool:
return shutil.which(prog) is not None Prevention
- Install the SVG toolchain (librsvg2-bin / inkscape) before running logo/make.py
- Check shutil.which(program) at script start and fail fast with an install hint
- In CI, add the required renderer to the image explicitly
When it happens
Trigger: Running logo/make.py (via create_assets, render, or main) on a machine lacking the required SVG-to-PNG converter; the first argument to run() names the binary that wasn't found.
Common situations: Fresh dev machines or CI containers without the SVG toolchain installed; PATH not including the tool's install location; running the asset pipeline on Windows/WSL where the tool name differs.
Related errors
- ImageMagick is required to process images
- Failed to convert {src_path} to RGBA data with error: {cp.st
- Failed to run custom processor %#v with error: %w\n%s
- Failed to execute rg: %w
- Failed to read data from update check process, with error: {
AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27).
Data as JSON: /api/errors/8a527968cee5109e.
Report an issue: GitHub.