kovidgoyal/kitty · info
Failed to read data from update check process, with error: {
Error message
Failed to read data from update check process, with error: {e} What it means
kitty spawns a background process to check for new releases; when reading the child's stdout fails (I/O error, decode failure, child died), kitty logs this and skips the update check. Purely informational.
Source
Thrown at kitty/boss.py:3506
if callback is not None:
try:
callback(exit_status, None)
except Exception:
import traceback
traceback.print_exc()
return
update_check_process = self.update_check_process
if update_check_process is not None and pid == update_check_process.pid:
self.update_check_process = None
from .update_check import process_current_release
try:
assert update_check_process.stdout is not None
raw = update_check_process.stdout.read().decode('utf-8')
except Exception as e:
log_error(f'Failed to read data from update check process, with error: {e}')
else:
try:
process_current_release(raw)
except Exception as e:
log_error(f'Failed to process update check data {raw!r}, with error: {e}')
def show_bad_config_lines(self, bad_lines: Iterable[BadLine], misc_errors: Iterable[str] = ()) -> None:
def format_bad_line(bad_line: BadLine) -> str:
return f'{bad_line.number}:{bad_line.exception} in line: {bad_line.line}\n'
groups: dict[str, list[BadLine]] = {}
for bl in bad_lines:
groups.setdefault(bl.file, []).append(bl)
ans: list[str] = []
a = ans.append
for file in sorted(groups):
if file:View on GitHub (pinned to 6d5d0c4406)
Solutions
- Ignore it — harmless
- Set `update_check_period 0` in kitty.conf to disable the check entirely
- Check network/proxy settings if you want update checks to work
Defensive patterns
Strategy: fallback
Validate before calling
# kitty.conf: disable the update check to avoid the subprocess entirely # update_check_period 0
Prevention
- Set update_check_period 0 on offline/locked-down machines
- Ignore: the failure is contained and harmless
When it happens
Trigger: The update-check subprocess (curl or kitty's downloader) exits abnormally, its stdout pipe breaks, or output is not valid UTF-8; also triggered when update_check_period triggers while offline.
Common situations: Offline machine, sandboxed environment blocking the check, or a proxy returning binary garbage.
Related errors
- Failed to process update check data {raw!r}, with error: {e}
- Failed to convert {src_path} to RGBA data with error: {cp.st
- You are missing the {args[0]} program needed to generate the
- Failed to run custom processor %#v with error: %w\n%s
- Failed to execute rg: %w
AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27).
Data as JSON: /api/errors/5ee3160571fad625.
Report an issue: GitHub.