How to set type=vm on simplestreams server

Using “incus publish” I have created two images, one a container and one a VM. This is on a server running 1:6.23-ubuntu22.04-202604261519.

$ incus image list
+------------+--------------+--------+---------------------------------------------------+--------------+-----------------+------------+----------------------+
|   ALIAS    | FINGERPRINT  | PUBLIC |                    DESCRIPTION                    | ARCHITECTURE |      TYPE       |    SIZE    |     UPLOAD DATE      |
+------------+--------------+--------+---------------------------------------------------+--------------+-----------------+------------+----------------------+
| proxmox-ct | 4cf6aded2430 | yes    | Proxmox node (20260511_14:13)                     | x86_64       | CONTAINER       | 1739.05MiB | 2026/05/11 14:18 UTC |
+------------+--------------+--------+---------------------------------------------------+--------------+-----------------+------------+----------------------+
| proxmox-vm | 59a37a288087 | yes    | Proxmox node (20260511_14:13)                     | x86_64       | VIRTUAL-MACHINE | 3159.93MiB | 2026/05/11 14:24 UTC |
+------------+--------------+--------+---------------------------------------------------+--------------+-----------------+------------+----------------------+

Now I’m trying to put them up on a simplestreams server. First I export them:

incus image export proxmox-ct
incus image export proxmox-vm --vm

then scp these files to the webserver, and then add them (this server has incus-extra 1:6.0.6-ubuntu24.04-202603151019):

incus-simplestreams add /var/tmp/4cf6aded243088487abee5f3af45550a365ea8676ecf5aa714128e7c1421ff7d.tar.gz --alias proxmox-ct
incus-simplestreams add /var/tmp/59a37a2880871465b321d5546a7891d2152a8b5c4d230dec79cf9520cd33c1d4.tar.gz --alias proxmox-vm

But what I find is, both images are labelled as “container”:

# incus-simplestreams list
+------------------------------------------------------------------+-------------------------------------+-----------+---------+---------+--------------+-----------+----------------------+
|                           FINGERPRINT                            |             DESCRIPTION             |    OS     | RELEASE | VARIANT | ARCHITECTURE |   TYPE    |       CREATED        |
+------------------------------------------------------------------+-------------------------------------+-----------+---------+---------+--------------+-----------+----------------------+
| 4cf6aded243088487abee5f3af45550a365ea8676ecf5aa714128e7c1421ff7d | proxmox main amd64 (202605111413)   | proxmox   | main    | default | x86_64       | container | 2026/05/11 00:00 UTC |
+------------------------------------------------------------------+-------------------------------------+-----------+---------+---------+--------------+-----------+----------------------+
| 59a37a2880871465b321d5546a7891d2152a8b5c4d230dec79cf9520cd33c1d4 | proxmox main amd64 (202605111418)   | proxmox   | main    | default | x86_64       | container | 2026/05/11 00:00 UTC |
+------------------------------------------------------------------+-------------------------------------+-----------+---------+---------+--------------+-----------+----------------------+

I similarly see two “container” images when querying the simplestreams server over HTTPS from a remote client:

$ incus image list nsrc:
+---------------------+--------------+--------+-------------------------------------+--------------+-----------+------------+----------------------+
|        ALIAS        | FINGERPRINT  | PUBLIC |             DESCRIPTION             | ARCHITECTURE |   TYPE    |    SIZE    |     UPLOAD DATE      |
+---------------------+--------------+--------+-------------------------------------+--------------+-----------+------------+----------------------+
| proxmox-ct (3 more) | 59a37a288087 | yes    | proxmox main amd64 (202605111418)   | x86_64       | CONTAINER | 3159.93MiB | 2026/05/11 00:00 UTC |
+---------------------+--------------+--------+-------------------------------------+--------------+-----------+------------+----------------------+
|                     | 4cf6aded2430 | yes    | proxmox main amd64 (202605111413)   | x86_64       | CONTAINER | 1739.05MiB | 2026/05/11 00:00 UTC |
+---------------------+--------------+--------+-------------------------------------+--------------+-----------+------------+----------------------+

What am I doing wrong here? There doesn’t appear to be a --vm flag to incus-simplestreams add.

In addition: you can also see from “incus image list” above that that the alias “proxmox-ct” has moved to what should be the image with alias “proxmox-vm”, and the other image has no aliases.

$ incus image info nsrc:4cf6aded2430
Fingerprint: 4cf6aded243088487abee5f3af45550a365ea8676ecf5aa714128e7c1421ff7d
Size: 1739.05MiB
Architecture: x86_64
Type: container
Public: yes
Timestamps:
    Created: 2026/05/11 00:00 UTC
    Uploaded: 2026/05/11 00:00 UTC
    Expires: 1970/01/01 00:00 UTC
    Last used: never
Properties:
    os: proxmox
    release: main
    architecture: amd64
    description: proxmox main amd64 (202605111413)
    variant: default
    type: tar.gz
    serial: 202605111413
Aliases:
Cached: no
Auto update: disabled
Profiles: []
$ incus image info nsrc:59a37a288087
Fingerprint: 59a37a2880871465b321d5546a7891d2152a8b5c4d230dec79cf9520cd33c1d4
Size: 3159.93MiB
Architecture: x86_64
Type: container
Public: yes
Timestamps:
    Created: 2026/05/11 00:00 UTC
    Uploaded: 2026/05/11 00:00 UTC
    Expires: 1970/01/01 00:00 UTC
    Last used: never
Properties:
    description: proxmox main amd64 (202605111418)
    type: tar.gz
    architecture: amd64
    serial: 202605111418
    variant: default
    os: proxmox
    release: main
Aliases:
    - proxmox/main/default
    - proxmox/main/default/amd64
    - proxmox-ct
    - proxmox-ct/amd64
Cached: no
Auto update: disabled
Profiles: []

Any clues?

To follow up, it seems that this works with split images but not unified images.

Raised as github #3386 because this is confusing, especially since unified images are the default.

At least, I think it should be documented that unified VM images don’t work with incus-simplestreams. And ideally, incus simplestreams-add should detect and reject such images with a helpful error message.