kovidgoyal/kitty · warning · SystemExit

This kitten should be run as: kitten quick-access-terminal

Error message

This kitten should be run as: kitten quick-access-terminal

What it means

While processing a dropped uri-list, lstat() on the Nth entry's path failed. kitty then sends a DnD/RDV error back to the drag source (ENOENT, EPERM, or EIO mapped accordingly). The file being dropped is inaccessible at the destination path.

Source

Thrown at kittens/quick_access_terminal/main.py:161

--instance-group
default=quick-access
The unique name of this quick access terminal Use a different name if you want multiple such terminals.


--debug-rendering
type=bool-set
For debugging interactions with the compositor/window manager.


--debug-input
type=bool-set
For debugging interactions with the compositor/window manager.
"""


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


if __name__ == '__main__':
    main(sys.argv)
elif __name__ == '__doc__':
    cd: dict = sys.cli_docs  # type: ignore
    cd['usage'] = '[cmdline-to-run ...]'
    cd['options'] = options_spec
    cd['help_text'] = help_text
    cd['short_desc'] = help_text
elif __name__ == '__conf__':
    sys.options_definition = definition  # type: ignore

View on GitHub (pinned to 6d5d0c4406)

Solutions

  1. Re-verify the source file still exists at drop time; re-drag freshly selected files
  2. Grant the needed permissions or fix portal/sandbox path translation so the dropped uri resolves for kitty
  3. For flatpaks, use document portals or non-sandboxed access so paths are real
Defensive patterns

Strategy: validation

Validate before calling

# Source side: confirm files still exist before dropping
import os
files = [f for f in selected_files if os.path.exists(f)]
start_drag(files)

Prevention

When it happens

Trigger: Dropping a file whose path lstat()s with ENOENT/ENOTDIR (deleted mid-drag, dangling path from a sandbox/flatpak portal), EACCES/EPERM (no permission), or another errno on the dropped uri-list entry.

Common situations: Dragging files that were moved/deleted after the drag started; sandboxed apps (Flatpak/Snap) exposing portal paths that don't exist outside the sandbox; dropping from network mounts that unmounted.

Related errors


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