{"record":{"id":"17d2af6411505c64","repo":"kovidgoyal/kitty","slug":"should-be-run-as-kitten-hints","errorCode":null,"errorMessage":"Should be run as kitten hints","messagePattern":"Should be run as kitten hints","errorType":"console","errorClass":"SystemExit","httpStatus":null,"severity":"error","filePath":"kittens/hints/main.py","lineNumber":285,"sourceCode":"on selected matches. You can also specify absolute paths to load the script from\nelsewhere. See {hints_url} for details.\n\n\n--window-title\nThe title for the hints window, default title is based on the type of text being\nhinted.\n\"\"\".format(\n    default_regex=DEFAULT_REGEX,\n    line='{{line}}',\n    path='{{path}}',\n    hints_url=website_url('kittens/hints'),\n).format\nhelp_text = 'Select text from the screen using the keyboard. Defaults to searching for URLs.'\nusage = ''\n\n\ndef main(args: list[str]) -> dict[str, Any] | None:\n    raise SystemExit('Should be run as kitten hints')\n\n\ndef linenum_process_result(data: dict[str, Any]) -> tuple[str, int]:\n    for match, g in zip(data['match'], data['groupdicts']):\n        path, line = g['path'], g['line']\n        if path and line:\n            return path, int(line)\n    return '', -1\n\n\ndef linenum_handle_result(args: list[str], data: dict[str, Any], target_window_id: int, boss: BossType, extra_cli_args: Sequence[str], *a: Any) -> None:\n    path, line = linenum_process_result(data)\n    if not path:\n        return\n\n    if extra_cli_args:\n        cmd = [x.format(path=path, line=line) for x in extra_cli_args]\n    else:","sourceCodeStart":267,"sourceCodeEnd":303,"githubUrl":"https://github.com/kovidgoyal/kitty/blob/6d5d0c440603ad9bdf6dcd599f73f6dde21acb44/kittens/hints/main.py#L267-L303","documentation":"A global uncaught NSException handler installed by kitty logged an exception that escaped Cocoa code (kitty/window: cocoa_window.m:1203). This is a last-resort log: an Objective-C exception (e.g. NSInvalidArgumentException, NSInternalInconsistencyException) was raised somewhere in AppKit/kitty's Cocoa glue and not caught anywhere.","triggerScenarios":"Any uncaught NSException on the Cocoa side of kitty on macOS - commonly triggered by invalid API arguments, KVO/observer violations, or AppKit state assumptions broken during window operations (resize, fullscreen, tab teardown).","commonSituations":"macOS version upgrades changing AppKit behavior, buggy GPU/window-server interactions, or kitty bugs in window management code. Usually paired with a crash right after.","solutions":["Update kitty to the latest version - Cocoa crashes are frequently fixed for new macOS releases.","Check the accompanying 'Stack trace:' log line to identify the failing AppKit call and report both to kitty's GitHub.","Try disabling recently toggled features (tab bar, macOS notifications, custom cursors) to isolate the trigger.","Note the exact reproduction steps (resize/fullscreen/close sequence) for the bug report."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"# as a user: capture the log to triage\nkitty --debug-config 2>~/kitty.err; grep -A20 'Unhandled exception in Cocoa' ~/kitty.err","preventionTips":["Keep kitty updated with macOS releases.","Save kitty's stderr/log so stacks are available after a crash.","Report exception + stack to kitty GitHub with repro steps."],"tags":["kitty","macos","cocoa","nsexception","crash"],"backgroundTag":"uncaught-native-exception","analyzedSha":"6d5d0c440603ad9bdf6dcd599f73f6dde21acb44","analyzedAt":"2026-08-27T14:20:20.142Z","schemaVersion":2},"datasetVersion":"2026-08-27T19:17:21.184Z"}