CLI TypeError: image is not iterable #7767

Open
opened 2026-02-20 05:06:47 -05:00 by deekerman · 1 comment
Owner

Originally created by @BenCzaczkes on GitHub (Jan 11, 2026).

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

Trying to upload an image using the command immich upload 1.jpg.
Only 2 files in the directory: 1.jpg and 1.jpg.json.
immich --version
2.2.105
Here is what I get
rawling for assets...
file:///C:/Users/Benja/AppData/Roaming/npm/node_modules/@immich/cli/dist/index.js:19800
extensions: [...image, ...video]
^

TypeError: image is not iterable
at scan (file:///C:/Users/Benja/AppData/Roaming/npm/node_modules/@immich/cli/dist/index.js:19800:21)
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async upload (file:///C:/Users/Benja/AppData/Roaming/npm/node_modules/@immich/cli/dist/index.js:19777:21)

Node.js v24.12.0
Assertion failed: !(handle->flags & UV_HANDLE_CLOSING), file src\win\async.c, line 76

The OS that Immich Server is running on

windows 11

Version of Immich Server

2.2.105

Version of Immich Mobile App

not used

Platform with the issue

  • Server
  • Web
  • Mobile

Device make and model

generic intel

Your docker-compose.yml content

#
# WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose
#
# Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    extends:
       file: hwaccel.transcoding.yml
       service: nvenc 
    volumes:
      # Do not edit the next line, edit the value of UPLOAD_LOCATION in the .env file
      - ${UPLOAD_LOCATION}:/data
      # - ${IMMICH_CONFIG_FILE}:/usr/src/app/immich.json
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-cuda
    extends: 
       file: hwaccel.ml.yml
       service: cuda 
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
      # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
      # DB_STORAGE_TYPE: 'HDD'
    volumes:
      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    shm_size: 128mb
    restart: always

volumes:
  model-cache:

Your .env content

# You can find documentation for all the supported env variables at https://docs.immich.app/install/environment-variables

#IMMICH_CONFIG_FILE=./immich.json

# The location where your uploaded files are stored
UPLOAD_LOCATION=./library

# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=./postgres

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=Europe/London

# The Immich version to use. You can pin this to a specific version like "v2.1.0"
IMMICH_VERSION=v2

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

Reproduction steps

  1. login http://localhost:2283//api wjAnGV
  2. immich upload 1.jpg

...

Relevant log output


Additional information

No response

Originally created by @BenCzaczkes on GitHub (Jan 11, 2026). ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [x] Yes ### The bug Trying to upload an image using the command immich upload 1.jpg. Only 2 files in the directory: 1.jpg and 1.jpg.json. immich --version 2.2.105 Here is what I get rawling for assets... file:///C:/Users/Benja/AppData/Roaming/npm/node_modules/@immich/cli/dist/index.js:19800 extensions: [...image, ...video] ^ TypeError: image is not iterable at scan (file:///C:/Users/Benja/AppData/Roaming/npm/node_modules/@immich/cli/dist/index.js:19800:21) at process.processTicksAndRejections (node:internal/process/task_queues:103:5) at async upload (file:///C:/Users/Benja/AppData/Roaming/npm/node_modules/@immich/cli/dist/index.js:19777:21) Node.js v24.12.0 Assertion failed: !(handle->flags & UV_HANDLE_CLOSING), file src\win\async.c, line 76 ### The OS that Immich Server is running on windows 11 ### Version of Immich Server 2.2.105 ### Version of Immich Mobile App not used ### Platform with the issue - [x] Server - [ ] Web - [ ] Mobile ### Device make and model generic intel ### Your docker-compose.yml content ```YAML # # WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose # # Make sure to use the docker-compose.yml of the current release: # # https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml # # The compose file on main may not be compatible with the latest release. name: immich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} extends: file: hwaccel.transcoding.yml service: nvenc volumes: # Do not edit the next line, edit the value of UPLOAD_LOCATION in the .env file - ${UPLOAD_LOCATION}:/data # - ${IMMICH_CONFIG_FILE}:/usr/src/app/immich.json - /etc/localtime:/etc/localtime:ro env_file: - .env ports: - '2283:2283' depends_on: - redis - database restart: always healthcheck: disable: false immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-cuda extends: file: hwaccel.ml.yml service: cuda volumes: - model-cache:/cache env_file: - .env restart: always healthcheck: disable: false redis: container_name: immich_redis image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa healthcheck: test: redis-cli ping || exit 1 restart: always database: container_name: immich_postgres image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_INITDB_ARGS: '--data-checksums' # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs # DB_STORAGE_TYPE: 'HDD' volumes: # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file - ${DB_DATA_LOCATION}:/var/lib/postgresql/data shm_size: 128mb restart: always volumes: model-cache: ``` ### Your .env content ```Shell # You can find documentation for all the supported env variables at https://docs.immich.app/install/environment-variables #IMMICH_CONFIG_FILE=./immich.json # The location where your uploaded files are stored UPLOAD_LOCATION=./library # The location where your database files are stored. Network shares are not supported for the database DB_DATA_LOCATION=./postgres # To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List # TZ=Europe/London # The Immich version to use. You can pin this to a specific version like "v2.1.0" IMMICH_VERSION=v2 # Connection secret for postgres. You should change it to a random password # Please use only the characters `A-Za-z0-9`, without special characters or spaces DB_PASSWORD=postgres # The values below this line do not need to be changed ################################################################################### DB_USERNAME=postgres DB_DATABASE_NAME=immich ``` ### Reproduction steps 1. login http://localhost:2283//api wjAnGV 2. immich upload 1.jpg 3. 2. 3. ... ### Relevant log output ```shell ``` ### Additional information _No response_
Author
Owner

@ricardoinacio commented on GitHub (Feb 13, 2026):

I was having this same error message, but in my case I had changed the domain name and forgot to update the ENV VARS file contents. The CLI was probably having a 404 or a 5xx HTTP error, but was crashing with that opaque exception message.

@ricardoinacio commented on GitHub (Feb 13, 2026): I was having this same error message, but in my case I had changed the domain name and forgot to update the ENV VARS file contents. The CLI was probably having a 404 or a 5xx HTTP error, but was crashing with that opaque exception message.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/immich#7767
No description provided.