List containers except oci

How could I filter list to only contain system containers, not to contain oci containers?
type=‘containers’ list oci and system containers
image.type=oci would list oci containers only but there is no image.type!=oci
Are there any other operators than = in the filters?

The API supports != but the CLI indeed doesn’t.
image.type=squashfs will most likely work though.

It’s possible to have system containers that don’t have any image.type though.

Example: if you launch and stop a container, publish an image from it, and then launch a new container from that published image:

$ incus launch cloud-mon zzz
Launching zzz
$ incus config show zzz | grep 'image[.]'
  image.architecture: amd64
  image.description: Cloud mon (20260524_17:39)
  image.name: ubuntu-noble-amd64-cloud-20260513_07:42
  image.os: cloud-mon
  image.release: main
  image.serial: "20260524_17:39"
  image.variant: default
$ incus list image.type=squashfs zzz
+------+-------+------+------+------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+-------+------+------+------+-----------+
$

Filtering on empty attributes isn’t an option either:

$ incus list image.type=""
Error: Invalid filter: clause has no value
$ incus list oci.cwd=""
Error: Invalid filter: clause has no value
$ 

Yeah. Best would be to extend the CLI to allow != as the API does support it.

stgraber@orilla-d13:~ (incus:s-shf-cluster/stgraber)$ incus query '/1.0/instances?project=stgraber&filter=expanded_config.image.type+ne+oci'
[
	"/1.0/instances/homeassistant01?project=stgraber",
	"/1.0/instances/iot-eg4-proxy?project=stgraber",
	"/1.0/instances/mosquitto01?project=stgraber",
	"/1.0/instances/plex01?project=stgraber",
	"/1.0/instances/rtsp01?project=stgraber"
]