kovidgoyal/kitty · error
%s
Error message
%s
What it means
The remote control command executed inside kitty and returned ok:false; kitty @ surfaces the server-side error string (after printing any Python traceback to stderr). The message content is whatever error the in-kitty command raised.
Source
Thrown at tools/cmd/at/main.go:289
}
wid, err := strconv.Atoi(os.Getenv("KITTY_WINDOW_ID"))
if err == nil && wid > 0 {
io_data.rc.KittyWindowId = uint(wid)
}
err = create_serializer(global_options.password, "", io_data)
if err != nil {
return
}
var response *Response
response, err = get_response(utils.IfElse(global_options.to_network == "", do_tty_io, do_socket_io), io_data)
if err != nil || response == nil {
return
}
if !response.Ok {
if response.Traceback != "" {
fmt.Fprintln(os.Stderr, response.Traceback)
}
return fmt.Errorf("%s", response.Error)
}
if io_data.handle_response != nil {
return io_data.handle_response(utils.UnsafeStringToBytes(response.Data.as_str))
}
if response.Data.is_string && io_data.string_response_is_err {
return fmt.Errorf("%s", response.Data.as_str)
}
if response.Data.as_str != "" {
fmt.Println(strings.TrimRight(response.Data.as_str, "\n \t"))
}
return
}
func get_password(password string, password_file string, password_env string, use_password string) (ans password, err error) {
if use_password == "never" {
return
}
if password != "" {View on GitHub (pinned to 6d5d0c4406)
Solutions
- Read the printed traceback/Error text — it names the real cause (bad match, missing file, invalid value)
- Fix the argument, e.g. verify window ids with 'kitty @ ls'
- For permission failures, adjust --allow-remote-control / remote_control policy in kitty.conf
Defensive patterns
Strategy: try-catch
Validate before calling
out, _ := cmd.CombinedOutput() // captures stderr traceback alongside the error
Try / catch
if err := run_CMD_NAME(...); err != nil { log.Printf("kitty RC error: %v", err) /* inspect response.Error and traceback */ } Prevention
- Validate window ids/matches with 'kitty @ ls' first
- Read the printed traceback for root cause
When it happens
Trigger: Any @ command whose handler fails in kitty: e.g. 'kitty @ set-colors nosuchfile.conf', invalid window ids, 'kitty @ focus-window --match id:999', etc. response.Ok is false and response.Error is propagated.
Common situations: Invalid arguments to @ subcommands, matching expressions that match no windows/tabs, files that don't exist, or attempting actions not permitted by the current remote control policy.
Related errors
- This should be run as kitten icat
- This should be run as `kitten notify ...`
- Remote control not enabled, this kitten should be run via a
- The remote control password was invalid: {data!r}
- Remote control is not enabled, remember to use allow_remote_
AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27).
Data as JSON: /api/errors/07851d17326af384.
Report an issue: GitHub.