ErrLookup › immich-app/immich
immich-app/immich
High performance self-hosted photo and video management solution. · TypeScript · 840 source files
Analyzed at 199723261c on 2026-08-12. 202 documented errors.
| Code / Message | Type | Severity | Tags |
|---|---|---|---|
| The API key header can only be set using setApiKey(). | exception | error | sdk, authentication, headers, configuration |
| Failed to call host function "${String(name)}", received ${r | exception | error | plugin-sdk, host-functions, wasm, extism, authentication |
| Not in maintenance mode | http | warning | maintenance, api, nest, startup-state |
| Missing JWT Token | http | error | maintenance, authentication, jwt, authorization |
| Invalid JWT Token | http | error | maintenance, authentication, jwt, authorization |
| Failed to read helmet file: ${helmetFile} | exception | critical | configuration, security, helmet, startup, filesystem |
| Invalid environment variables: \n - [${path}] ${issue.messa | validation | critical | configuration, environment, zod, validation, startup |
| Invalid worker(s) found: ${workers.join(',')} | validation | critical | configuration, environment, workers, startup, validation |
| Failed to decode redis options | validation | critical | configuration, redis, environment, startup, encoding |
| Invalid telemetry found: ${telemetry} | validation | critical | configuration, environment, telemetry, validation, startup |
| No vector extension found. Available extensions: ${VECTOR_EX | exception | critical | database, postgres, vector-extension, pgvector, startup |
| ${EXTENSION_NAMES[extension]} extension is not installed | exception | critical | database, postgres, vector-extension, migration, startup |
| No available version for ${EXTENSION_NAMES[extension]} exten | exception | critical | database, postgres, vector-extension, migration, packaging |
| Invalid CLIP dimension size: ${dimSize} | validation | error | database, machine-learning, clip, validation, vector-extension |
| Migration "${missing[1]}" was already applied to this databa | exception | critical | database, migration, kysely, versioning, downgrade, startup |
| Unable to determine worker type | exception | critical | configuration, workers, events, startup, nest |
| Failed to add job handler for ${label} | exception | critical | jobs, bullmq, startup, nest, decorators, duplicate |
| Failed to find job handler for Job.${jobKey} ("${jobName}") | exception | critical | jobs, bullmq, startup, nest, decorators, missing-handler |
| Machine learning request '${JSON.stringify(config)}' failed | exception | error | machine-learning, network, clip, facial-recognition, runtime |
| Geodata file ${cities500} not found | exception | critical | map, geodata, filesystem, startup, resources |
| Cannot grant permissions you do not have | http | error | api-key, permissions, authorization, permission-escalation, nestjs |
| API Key not found | http | error | api-key, not-found, crud, nestjs, concurrency |
| Not authenticated with an API Key | http | error | api-key, authentication, authorization, nestjs, forbidden |
| The route ${request.path} was requested as ${request.header( | http | warning | http, content-negotiation, ssr, middleware, share, nestjs |
| Unsupported file type ${filename} | http | error | upload, mime-type, validation, multipart, nestjs |
| May not request original file | http | warning | asset, thumbnail, validation, deprecated, nestjs |
| Asset media not found | http | error | asset, thumbnail, preview, job-queue, not-found, nestjs |
| Asset not found or asset is not a video | http | error | asset, video, playback, not-found, validation, nestjs |
| Quota has been exceeded! | http | error | upload, quota, validation, nestjs, storage |
| Asset not found | http | error | asset, not-found, race-condition, crud, nestjs |
| Both assets must exist | http | error | asset, copy, not-found, validation, nestjs |
| Source and target id must be distinct | http | warning | asset, copy, validation, nestjs |
| Duplicate items are not allowed: "${key}" | http | warning | metadata, validation, duplicate, batch, nestjs |
| Metadata with key "${key}" not found for asset with id "${id | http | warning | asset, metadata, api, not-found, validation, rest |
| Only images can be edited | http | warning | asset, edit, validation, type-check, image |
| Editing live photos is not supported | http | warning | asset, edit, live-photo, validation |
| Editing panorama images is not supported | http | warning | asset, edit, panorama, validation, image |
| Editing GIF images is not supported | http | warning | asset, edit, gif, validation, image |
| Editing SVG images is not supported | http | warning | asset, edit, svg, vector, validation, image |
| Asset dimensions are not available for editing | http | warning | asset, edit, dimensions, validation, metadata, image |
| Crop action must be the first edit action | http | warning | asset, edit, crop, validation, ordering |
| Crop parameters are out of bounds | http | warning | asset, edit, crop, geometry, validation, bounds |
| Password login has been disabled | http | error | auth, login, oauth, config, unauthorized |
| Incorrect email or password | http | error | auth, login, credentials, unauthorized, security |
| Received backchannel logout request but OAuth is not enabled | http | error | auth, oauth, logout, backchannel, config |
| Error backchannel logout: token validation failed | http | error | auth, oauth, logout, backchannel, token, validation |
| Invalid logout token: no claims found | http | warning | auth, oauth, logout, backchannel, token, claims |
| Invalid logout token: it must contain either a sub or a sid | http | warning | auth, oauth, logout, backchannel, token, claims, session |
| Wrong password | http | error | auth, password, validation, credentials |
| Unauthorized | http | error | auth, pin-code, unauthorized, session |
| User already has a PIN code | http | warning | auth, pin-code, nestjs, immich, validation |
| User does not have a PIN code | http | warning | auth, pin-code, nestjs, immich, validation |
| Wrong PIN code | http | warning | auth, pin-code, nestjs, immich |
| Either password or pinCode is required | http | warning | auth, pin-code, nestjs, immich, validation |
| Forbidden | http | error | auth, authorization, admin, nestjs, immich |
| Missing required permission: ${requestedPermission} | http | error | auth, api-key, authorization, nestjs, immich |
| Authentication required | http | critical | auth, unauthorized, nestjs, immich |
| OAuth is not enabled | http | warning | auth, oauth, config, nestjs, immich |
| OAuth state is missing | http | warning | auth, oauth, csrf, cookies, nestjs, immich |
| OAuth code verifier is missing | http | warning | auth, oauth, pkce, cookies, nestjs, immich |
| OAuth authentication failed | http | error | auth, oauth, account-linking, nestjs, immich |
| OAuth profile does not have an email address | http | error | auth, oauth, provisioning, nestjs, immich |
| This OAuth account has already been linked to another user. | http | error | auth, oauth, account-linking, nestjs, immich |
| Invalid share key | http | error | auth, shared-link, unauthorized, nestjs, immich |
| Invalid share slug | http | error | auth, share-link, unauthorized, validation |
| Invalid API key | http | error | auth, api-key, unauthorized, hashing |
| Invalid user token | http | error | auth, session, unauthorized, cookie |
| This endpoint can only be used with a session token | http | error | auth, session, pin-code, bad-request |
| Admin setup is not available | http | error | setup, admin, onboarding, bad-request |
| Email is not available | http | error | user, email, duplicate, bad-request |
| The first registered account must the administrator. | http | error | user, admin, onboarding, bad-request |
| Admin account does not exist | exception | error | cli, admin, bootstrap |
| User does not exist | exception | error | cli, admin, user |
| Target media location must be an absolute path | exception | error | cli, storage, filesystem, path, migration |
| Unsupported PostgreSQL version: ${databaseVersion} | exception | critical | database, postgres, backup, restore, version |
| Invalid backup name! | http | error | database, backup, upload, validation, filename |
| Invalid backup file format! | exception | critical | database, backup, restore, validation, filename |
| Server health check failed, no admin exists. | exception | critical | database, backup, restore, admin, health-check |
| Invalid PostgreSQL version. Found ${version}, but needed ${p | exception | critical | database, postgres, bootstrap, version, startup |
| The ${name} extension is not available in this Postgres inst | exception | critical | postgres, database, bootstrap, pgvector, extension, immich, config |
| The ${name} extension version is ${version}, which mean | exception | critical | postgres, database, extension, version, pgvector, bootstrap, immich, config |
| The ${name} extension version is ${version}, but Immich only | exception | critical | postgres, database, extension, version, semver, pgvector, bootstrap, immich, config |
| The database currently has ${name} ${installedVersion} activ | exception | critical | postgres, database, extension, version, pgvector, downgrade, bootstrap, immich, config |
| assetIds, albumId, or userId is required | http | error | api, validation, download, nestjs, bad-request, immich, typescript |
| Real-time transcoding is not enabled | http | error | config, video, hls, ffmpeg, transcoding, bad-request, immich, nestjs |
| Asset metadata is not yet ready for streaming | http | warning | video, hls, metadata, job, async, not-found, immich, nestjs |
| Asset not found or metadata not yet ready for streaming | http | warning | video, hls, session, metadata, not-found, immich, nestjs |
| Session not found | http | warning | video, hls, session, not-found, immich, nestjs, streaming |
| No supported variants for this video | http | error | video, hls, transcoding, codec, ffmpeg, not-found, immich, nestjs |
| Invalid job name | http | error | api, jobs, validation, enum, bad-request, immich, nestjs |
| Library ${id} not found | http | error | api, library, validation, not-found, bad-request, immich, nestjs |
| Invalid import path: ${path.message} | http | error | api, library, validation, filesystem, permissions, docker, bad-request, immich, nestjs |
| Not in maintenance mode | exception | error | maintenance, auth, admin, state, immich, nestjs |
| Metadata service init failed | exception | critical | metadata, geodata, bootstrap, reverse-geocoding, immich, nestjs |
| User not found | exception | error | api, admin, notification, email, user, validation, immich, nestjs |
| Failed to verify SMTP configuration | http | error | notification, email, smtp, config, network, bad-request, immich, nestjs |
| Notification not found | http | error | api, notification, validation, not-found, bad-request, immich, nestjs |
| Invalid SMTP configuration | exception | error | notification, email, smtp, config, validation, network, immich, nestjs |
| User not found | exception | error | notification, smtp, user, nestjs, authentication |
| Failed to verify SMTP configuration | http | error | smtp, notification, email, network, nestjs, configuration |
| Partner already exists | http | warning | partner, sharing, idempotency, nestjs, validation |
| Invalid user | http | error | partner, user, validation, nestjs, not-found |
| Partner not found | http | warning | partner, idempotency, nestjs, validation |
| Person not found | http | warning | person, facial-recognition, not-found, nestjs |
| Not Found | http | warning | person, thumbnail, storage, not-found, nestjs |
| Invalid assetId for feature face or asset is offline | http | error | person, face, asset, facial-recognition, nestjs, validation |
| Cannot merge a person into themselves | http | warning | person, merge, facial-recognition, validation, nestjs |
| Asset not found | http | error | person, face, asset, not-found, nestjs |
| Asset does not have valid dimensions | http | error | person, face, asset, metadata, exif, nestjs, validation |
| Plugin not found | http | warning | plugin, workflow, not-found, nestjs |
| The BackgroundTask queue cannot be paused | http | warning | queue, background-task, jobs, admin, nestjs, validation |
| Job is already running | http | warning | queue, jobs, concurrency, admin, nestjs |
| Invalid job name: ${name} | http | warning | queue, jobs, validation, nestjs, enum |
| Shared link access is only allowed in combination with an al | http | warning | search, shared-link, album, authorization, nestjs, validation |
| Smart search is not enabled | http | warning | search, machine-learning, clip, smart-search, configuration, nestjs |
| Asset ${dto.queryAssetId} has no embedding | http | warning | search, machine-learning, clip, embedding, asset, nestjs |
| Either `query` or `queryAssetId` must be set | http | warning | search, smart-search, validation, dto, nestjs |
| Not Found | http | info | server, license, not-found, nestjs, administration |
| Invalid license key | http | error | license, validation, server, nestjs |
| This endpoint can only be used with a session token | http | error | session, auth, api-key, validation |
| No fields to update | http | warning | session, validation, dto |
| Forbidden | http | error | shared-link, auth, forbidden |
| Shared link is not password protected | http | warning | shared-link, password, validation |
| Invalid password | http | warning | shared-link, password, auth |
| Password required | http | warning | shared-link, password, auth, token |
| Invalid albumId | http | warning | shared-link, album, validation, dto |
| Invalid assetIds | http | warning | shared-link, asset, validation, dto |
| Failed to save shared link | http | warning | shared-link, slug, database, unique-constraint |
| Invalid shared link type | http | warning | shared-link, asset, validation |
| Unknown CLIP model: ${newConfig.machineLearning.clip.modelNa | validation | error | machine-learning, clip, config, validation |
| Primary asset must be in the stack | http | warning | stack, asset, validation |
| Asset not in stack | http | warning | stack, asset, validation |
| Cannot remove stack's primary asset | http | warning | stack, asset, validation |
| Invalid storage template | validation | error | storage-template, config, validation |
| Detected an inconsistent media location. For more informatio | exception | critical | storage, media-location, migration, filesystem |
| Failed to read: "${externalPath} (${internalPath}) - ${docsM | exception | critical | storage, startup, filesystem, permissions, docker |
| Failed to create "${externalPath} - ${docsMessage}" | exception | critical | storage, startup, filesystem, permissions, disk-space |
| Failed to write "${externalPath} - ${docsMessage}" | exception | critical | storage, startup, filesystem, permissions, network-mount |
| Sync endpoints cannot be used with API keys | exception | error | auth, sync, api-key, session, forbidden |
| Invalid ack type: ${type} | exception | error | sync, validation, version-skew, bad-request |
| SyncRequestType.AssetsV1 is deprecated, use SyncRequestType. | exception | error | sync, deprecation, version-skew, bad-request |
| SyncRequestType.PartnerAssetsV1 is deprecated, use SyncReque | exception | error | sync, deprecation, version-skew, bad-request |
| SyncRequestType.AlbumAssetsV1 is deprecated, use SyncRequest | exception | error | sync, deprecation, version-skew, bad-request |
| SyncRequestType.AssetFacesV1 is deprecated, use SyncRequestT | exception | error | sync, deprecation, version-skew, bad-request, faces |
| Logging cannot be changed while the environment variable IMM | exception | error | config, logging, environment, validation |
| Cannot update configuration while IMMICH_CONFIG_FILE is in u | exception | error | config, environment, validation, bad-request |
| {error.message} | exception | error | config, validation, bad-request |
| Tag not found | exception | error | tags, validation, bad-request, hierarchy |
| A tag with that name already exists | exception | error | tags, validation, duplicate, bad-request |
| You may not access another user's locked timeline | exception | error | timeline, authorization, locked, validation, bad-request |
| withPartners is only supported for non-archived, non-trashed | exception | error | timeline, partners, validation, bad-request |
| password is required | exception | error | users, auth, oauth, validation, bad-request |
| Admin status can only be changed by another admin | exception | error | users, authorization, admin, validation, bad-request |
| Email is not available | exception | error | users, validation, duplicate, email, bad-request |
| Storage label already in use by another account | exception | error | users, storage, validation, duplicate, bad-request |
| Cannot delete your own account | exception | error | authorization, user-admin, self-deletion-guard, nestjs |
| User not found | exception | error | user, authentication, data-integrity, nestjs |
| Email is not available | exception | error | user, email, uniqueness, validation, nestjs |
| Unable to process profile image | exception | error | profile-image, media, sharp, upload, nestjs |
| Can't delete a missing profile Image | exception | warning | profile-image, idempotency, validation, nestjs |
| Invalid license key | exception | error | license, validation, format-check, nestjs |
| Calling host functions is not allowed without setting method | exception | error | workflow, plugin, manifest, extism, host-functions |
| Hostname did not match any listed in methods[].allowedHosts | exception | error | workflow, plugin, network, security, allowedhosts |
| authToken is required | exception | error | workflow, plugin, authentication, extism, host-functions |
| Invalid token: missing userId | exception | error | workflow, plugin, authentication, jwt, nestjs |
| Invalid token | exception | error | workflow, plugin, authentication, jwt, nestjs |
| Unable to infer workflow event type from steps | exception | error | workflow, configuration, workflow-type, inference |
| Unknown method ${step.method} | exception | error | workflow, plugin, validation, nestjs |
| Method "${step.method}" is incompatible with workflow trigge | exception | error | workflow, plugin, validation, trigger, nestjs |
| Not found or no ${request.permission} access | exception | error | authorization, access-control, permission, nestjs |
| Elevated permission is required | exception | error | authorization, authentication, step-up, session, nestjs |
| Live photo video not found | exception | error | live-photo, asset, validation, nestjs, bad-request |
| Live photo video must be a video | exception | error | live-photo, asset, validation, nestjs, bad-request |
| Live photo video does not belong to the user | exception | error | live-photo, asset, ownership, authorization, bad-request |
| Cannot unlink Android motion photos | http | error | live-photo, android, motion-photo, storage, bad-request |
| Invalid system config: | exception | critical | config, zod, validation, startup, schema |
| ${config.accel.toUpperCase()} acceleration does not support | exception | error | ffmpeg, transcoding, hardware-acceleration, config, codec |
| No /dev/dri devices found. If using Docker, make sure at lea | exception | error | ffmpeg, hardware-acceleration, docker, gpu, vaapi, qsv, transcoding |
| Device '${deviceName}' does not exist. If using Docker, make | exception | error | ffmpeg, hardware-acceleration, gpu, config, transcoding, docker |
| ${entity} not found | http | error | validation, not-found, helper, bad-request, generic |
| Unknown CLIP model: ${modelName} | exception | error | machine-learning, clip, smart-search, config, model-registry |
| errors.unable_to_upload_file | exception | error | upload, web, reverse-proxy, i18n, network |
| Failed to fetch activation key | exception | error | license, activation, network, external-api, web |
| errorMessage || error | exception | error | duplicates, web, svelte, rpc, client |
| Invalid request format. | http | error | machine-learning, fastapi, request-validation, predict, json |
| Image has zero width or height | http | error | machine-learning, image, validation, predict, corrupt-file |
| Either image or text must be provided | http | error | machine-learning, request-validation, predict, fastapi |
| Task {entry['task']} of type {entry['type']} depends on outp | http | error | machine-learning, pipeline, model-dependency, predict, request-validation |
| Failed to load model '{model.model_name}' | http | error | machine-learning, model-loading, onnx, cache, oom, fastapi |
| Unknown model combination: {source}, {model_type}, {model_ta | validation | error | machine-learning, model-registry, validation, python, valueerror |
| Attempted to clear cache, but rmtree is not safe on this pla | exception | error | machine-learning, cache, filesystem, security, python, runtimeerror |
| Model file not found: {model_path} | exception | error | model-loading, filesystem, huggingface, cache |
| Unsupported model file type: {model_path.suffix} | validation | error | model-loading, validation, enum, file-extension |
| Pad token '{pad_token}' not found in tokenizer vocab | validation | error | tokenizer, clip, config-mismatch, nlp |
| libann is not available! | exception | critical | armnn, native-library, gpu, container, mali |
| model_path must be a file with extension .armnn, .tflite or | validation | error | armnn, validation, file-extension |
| model_path must point to an existing file! | validation | error | armnn, filesystem, validation, paths |
| Cannot load model! | exception | error | armnn, native-library, model-loading, corruption |
| RKNN inference failed! | exception | error | rknn, npu, inference, rockchip |
| rknn is not available! | exception | critical | rknn, npu, rockchip, native-library, container |
| Failed to load RKNN model | exception | error | rknn, npu, model-loading, rockchip, version-mismatch |
| Failed to initialize RKNN runtime environment | exception | critical | rknn, npu, runtime, rockchip, device-permissions, container |