ONE LIBRARY · EXPLICIT READERS · SEPARATE APPS

Share the weights, not the installation

Keep one physical owner for each large model category. Connect Forge, A1111 and ComfyUI with their own supported path controls, then prove one file at a time. Environments, extensions, settings and outputs stay separate.

Evidence checked31 Aug 2026Forge codedfdcbab6 · 26 Jun 2025RuntimePath functions tested · no GPU generation
DIRECT ANSWER

One owner per category. One explicit route per consumer.

VERIFIEDOriginal Forge can reference an A1111-shaped library and exposes individual model-directory flags.

If A1111 already owns your models, add --forge-ref-a1111-home to Forge and point ComfyUI’s official extra_model_paths.yaml at the same root. For a Comfy-first or neutral library, map compatible Forge categories individually.

Use junctions or symbolic links only when a needed category has no practical path control. Link one subfolder, never the complete models tree across different UIs.

01 · ROUTE PLANNER

Who owns the files today?

Choose the physical library you already trust. The safest route adds readers around that owner instead of moving every file into a new universal tree.

Choose the shared model library situation
NEXT MOVEKeep the A1111 tree as owner
VERIFIED

Use the Forge reference helper first.

Point --forge-ref-a1111-home at the A1111 root. The current helper conditionally maps seven known paths and leaves explicit directory flags untouched. Check every startup skip message; the helper is not a universal models switch.

Configure the helper
02 · LIBRARY CONTRACT

Six records make “shared” reversible.

Check an item only when the evidence exists outside every application folder. This planner stores nothing and changes no model paths.

0/ 6 READY

Complete the records to create the contract.

Shared model library contract
03 · OWNERSHIP BOUNDARY

A shared library is data, not a shared runtime.

Forge, A1111 and ComfyUI may read the same compatible weights. They still execute different code and maintain different application state.

PHYSICAL OWNERModel libraryone intended copy per category
READER 01Original Forgeown source · venv · config
READER 02A1111own source · venv · extensions
READER 03ComfyUIown source · environment · custom nodes
VERIFIED

Share compatible weights

Checkpoints, selected VAE files, LoRAs, embeddings, ControlNet weights and some upscalers can have one physical owner when each consumer maps the correct category.

UNKNOWN

Keep application state separate

Never share venv, extensions, custom nodes, config.json, ui-config.json, outputs or an entire cross-UI models root.

“Same file extension” is not a compatibility test.

A .safetensors file may be a checkpoint, LoRA, ControlNet model, text encoder or another weight type. The owner contract records its category and validates it inside each required workflow.

04 · FORGE HELPER

The A1111 helper maps seven paths—not an entire installation.

The helper checks each expected directory. Missing paths are skipped, and an explicit directory argument already on the Forge command line wins.

Inspect the exact function ↗
WINDOWS · FORGE WEBUI-USER.BAT

Point at the folder containing the A1111 launcher, models and embeddings.

set COMMANDLINE_ARGS=--forge-ref-a1111-home "D:\AI\stable-diffusion-webui"
LINUX / MACOS · FORGE WEBUI-USER.SH

Use an absolute A1111 root and preserve any existing Forge arguments.

export COMMANDLINE_ARGS="--forge-ref-a1111-home /home/user/stable-diffusion-webui"
INSPECTED HELPER · SOURCE PROBE7 CONDITIONAL MAPPINGS
models/Stable-diffusion→ --ckpt-dirmodels/VAE→ --vae-dirmodels/hypernetworks→ --hypernetwork-dirembeddings→ --embeddings-dirmodels/lora→ --lora-dirmodels/ControlNet→ --controlnet-dirextensions/sd-webui-controlnet/annotator/downloads→ --controlnet-preprocessor-models-dir

Probe 1 used an A1111-style tree with models/Lora: Forge appended checkpoints, VAE, embeddings and ControlNet, but skipped LoRA because it checked lowercase models/lora. Probe 2 used all seven expected paths plus an explicit --lora-dir: the explicit LoRA path remained and appeared only once.

Case-sensitive filesystem? Make LoRA explicit.

Current Forge and A1111 preload code defaults to models/Lora, while the helper checks models/lora. Use the exact path that exists:

--lora-dir "/home/user/stable-diffusion-webui/models/Lora"
05 · THREE UIs

Let ComfyUI add the A1111 owner as extra search paths.

ComfyUI already publishes an A1111-shaped profile. This preserves ComfyUI’s native model tree while adding the shared library as another reader.

Open the current official example ↗
  1. 01
    Copy the current example

    In the ComfyUI root you actually launch, copy extra_model_paths.yaml.example to extra_model_paths.yaml.

  2. 02
    Enable one top-level profile

    Uncomment the A1111 block and change only base_path first. Preserve YAML indentation.

  3. 03
    Keep only real categories

    Delete or comment categories that do not exist in your owner tree. Add them later after the checkpoint test passes.

  4. 04
    Restart and read the log

    The current parser normalizes each entry and logs Adding extra search path. Verify the resolved paths before loading a workflow.

COMFYUI / EXTRA_MODEL_PATHS.YAMLSOURCE-VERIFIED TEMPLATE
a1111:
  base_path: D:/AI/stable-diffusion-webui/
  checkpoints: models/Stable-diffusion
  configs: models/Stable-diffusion
  vae: models/VAE
  loras: |
    models/Lora
    models/LyCORIS
  upscale_models: |
    models/ESRGAN
    models/RealESRGAN
    models/SwinIR
  embeddings: embeddings
  hypernetworks: models/hypernetworks
  controlnet: models/ControlNet

Our parser probe resolved eight entries from a reduced fixture, including two LoRA and two upscaler directories. No ComfyUI generation was run. Use forward slashes in the YAML example for readable Windows paths.

06 · EXPLICIT PATHS

For a central or Comfy-first library, map categories individually.

This route is source-verified but not GPU-tested here. It is deliberate: each flag names one compatible category and can be removed without changing the others.

ASSUMPTION

Windows central library

Place the line in Forge webui-user.bat. The physical folders can also be read by ComfyUI through its YAML.

set COMMANDLINE_ARGS=--ckpt-dir "D:\AI\Models\checkpoints" --vae-dir "D:\AI\Models\vae" --lora-dir "D:\AI\Models\loras" --text-encoder-dir "D:\AI\Models\text_encoders" --controlnet-dir "D:\AI\Models\controlnet"
ASSUMPTION

Linux / macOS central library

Quote every absolute path. Add only the categories required by the first real workflow.

export COMMANDLINE_ARGS="--ckpt-dir /mnt/ai/models/checkpoints --vae-dir /mnt/ai/models/vae --lora-dir /mnt/ai/models/loras --text-encoder-dir /mnt/ai/models/text_encoders --controlnet-dir /mnt/ai/models/controlnet"

These flags exist in the inspected original Forge source. That proves path routing, not cross-UI model compatibility. Begin with --ckpt-dir alone, load one known checkpoint, then add one category per restart.

USE AN INDIVIDUAL FLAG

The category already has a path control.

Checkpoints, VAE, LoRA, embeddings, hypernetworks, text encoders, ControlNet and several upscaler families can be routed explicitly.

DO NOT USE A GLOBAL ROOT

The UI taxonomies do not match.

ComfyUI has categories such as diffusion_models, text_encoders and clip_vision. A WebUI-shaped models base does not translate those meanings.

08 · CATEGORY MATRIX

Match semantics before matching folders.

The same physical category can use different names. Treat every row as an independent contract and validate the exact model family.

Model-category paths in an A1111-shaped owner, original Forge and ComfyUI
CategoryA1111-shaped ownerForge controlComfyUI keyDecision
Checkpointsmodels/Stable-diffusion--ckpt-dircheckpointsShare after one exact file loads
VAEmodels/VAE--vae-dirvaeShare; verify selection separately
LoRAmodels/Lora by default--lora-dirlorasUse explicit flag on case-sensitive systems
Embeddingsembeddings--embeddings-dirembeddingsShare only with compatible base family
Hypernetworksmodels/hypernetworks--hypernetwork-dirhypernetworksLegacy category; test actual use
ControlNet modelsmodels/ControlNet--controlnet-dircontrolnetShare models, not extension code
ControlNet preprocessorsextension-specific downloads--controlnet-preprocessor-models-dirNo direct A1111 template keyKeep consumer-specific unless proven
Text encodersNo common A1111 owner--text-encoder-dirtext_encodersMap only files required by the Forge model route
UpscalersSeveral family foldersFamily-specific *-models-path flagsupscale_modelsHelper does not map these
FLUX diffusion / UNet filesLayout depends on routeUsually checkpoint path; verify guidediffusion_models / unetDo not merge categories by name
Configs, extensions, venv, outputsApplication-ownedDo not shareApplication-ownedKeep separate

For FLUX split files, GGUF and text encoders, use the Forge FLUX file checklist. Shared storage never replaces format-specific setup.

09 · ROLLOUT PROTOCOL

Change one reader and one category at a time.

The goal is not to make every dropdown large. It is to prove that the required application loads the intended physical file and can return to its native path.

  1. 01

    Inventory before moving

    List the current physical path, app owner, category, filename, byte size and hash. If two files only share a name, treat them as different until their hashes match.

  2. 02

    Choose one write owner

    Decide which application tree or central folder owns each category. Consumers may read the library, but one owner controls downloads, renames and deletion.

  3. 03

    Prove every UI independently

    Start Forge, A1111 and ComfyUI with their native folders before sharing anything. A broken clean install cannot validate a shared path.

  4. 04

    Connect one consumer to one category

    Start with one checkpoint directory. Use an official config or explicit flag. Do not add LoRA, VAE, ControlNet and upscalers in the same change.

  5. 05

    Read startup evidence

    For Forge, inspect appended or skipped paths. For ComfyUI, look for Adding extra search path messages or YAML errors. Stop if the resolved path is not the intended owner.

  6. 06

    Load the known file

    Refresh the model list, select the recorded asset and complete the smallest real load or generation. Matching the visible filename alone is insufficient when duplicates exist.

  7. 07

    Add categories one at a time

    Repeat the same check for VAE, LoRA, embeddings, ControlNet, text encoders and upscalers only when the workflow needs them.

  8. 08

    Prove recovery

    Stop the consumer, remove only its flag, YAML entry or link, restore the original empty folder if required, and confirm its native baseline still starts.

10 · FAILURE MAP

Partial discovery tells you which boundary failed.

A visible checkpoint proves one path. It says nothing about LoRA capitalization, ComfyUI YAML, ControlNet preprocessors or FLUX companion files.

01Forge shows no shared checkpoints

Confirm --forge-ref-a1111-home points to the A1111 root, not models. Quote paths with spaces and read every “does not exist. Skip setting” line.

02Checkpoints appear but LoRAs do not

The inspected helper checks models/lora, while the default LoRA folder is models/Lora. On a case-sensitive filesystem, add an explicit --lora-dir with the real capitalization.

03An explicit path seems ignored

Check whether the same flag appears more than once. The helper does not override a flag already present, but duplicate manual flags make ownership unclear. Keep one declaration.

04ComfyUI starts with a YAML TypeError

Begin from the current official example. Keep a top-level profile name, indent base_path and every category under it, and make each category value a string or | block.

05ComfyUI loads but adds no external paths

Confirm the file is named extra_model_paths.yaml in the ComfyUI root actually being launched. Read the startup log rather than editing another installation.

06The same model name appears twice

Search every configured category path and compare byte size or SHA-256. Remove one consumer path entry; do not delete either physical file until identity is proven.

07A junction or symlink is broken

Check the link target before touching the model library. Restore the target path or remove only the link and recreate the consumer folder. Forge code explicitly skips broken file links while scanning.

08A source update collides with a linked folder

Stop the UI and preserve the link target. Remove only the consumer link, update the source, then recreate a category-level link if the native folder remains appropriate.

09ControlNet preprocessors are still missing

Model weights and preprocessor downloads are separate inventories. The helper maps one historical extension download path; current integrated or third-party preprocessors may use another layout.

10A FLUX workflow reports missing encoders

A shared checkpoint folder does not map ComfyUI text_encoders or every Forge FLUX dependency. Verify the exact FLUX file route and each dropdown independently.

11Model discovery becomes slow

Count every configured directory and duplicate entry. Large libraries, slow external disks and network storage need a local measurement; this page makes no scan-time or NAS performance guarantee.

11 · SHARED STORAGE FAQ

Questions that appear after the first duplicate disappears.

These answers separate storage reuse from environment sharing, format compatibility and performance.

Can Forge and AUTOMATIC1111 use the same models without copying them?

Yes. Original Forge provides --forge-ref-a1111-home for an existing A1111-shaped checkout and individual directory flags. Keep the source, virtual environments, settings and extensions separate.

Can Forge and ComfyUI share the same model folder?

They can read compatible files from the same physical category, but their complete models trees have different taxonomies. Use individual Forge flags and ComfyUI extra paths; do not point both complete models roots at each other.

What is the safest setup for Forge, A1111 and ComfyUI together?

If A1111 already owns the library, keep its tree unchanged. Point Forge at the A1111 root with --forge-ref-a1111-home and configure ComfyUI with the official a1111 block in extra_model_paths.yaml.

Where do I add --forge-ref-a1111-home on Windows?

Add it to COMMANDLINE_ARGS in the Forge webui-user.bat or the corresponding launcher configuration for the official package. Quote the A1111 root when it contains spaces.

Where do I add shared model paths on Linux or macOS?

Set or extend COMMANDLINE_ARGS in Forge webui-user.sh, or pass the arguments to ./webui.sh. Use absolute paths and preserve the existing arguments.

Why does --forge-ref-a1111-home find checkpoints but not LoRAs?

The inspected helper checks models/lora in lowercase. Forge and A1111 default LoRA preload code uses models/Lora. On case-sensitive filesystems, set --lora-dir to the exact existing folder.

Does the Forge A1111 helper include upscaler models?

No. Its seven mappings do not include ESRGAN, RealESRGAN or other upscaler family folders. Forge exposes several family-specific path flags; configure only the upscalers your workflow uses.

Can I use --models-dir instead of individual paths?

--models-dir changes the base models location for one WebUI-shaped tree. It does not translate ComfyUI category names and it can move more categories than intended. Individual paths are easier to verify for a cross-UI library.

Should I share --data-dir between Forge and A1111?

No. --data-dir covers user state beyond model weights. Sharing it can mix settings and other application-owned data. This guide shares model categories only.

Can Forge and A1111 share the same venv?

No. A model library contains data; venv contains executable Python packages. Keep a separate environment for every application.

Can I share extensions or ComfyUI custom nodes?

No. Extensions and custom nodes are executable integrations tied to their own host and dependency environment. Install and test them separately.

Is a Windows directory junction better than command-line flags?

No. A junction is a fallback when the application has no suitable path control. Flags and official configuration files show ownership directly and are easier to disable during diagnosis.

What is the correct mklink order?

Microsoft documents mklink /J <link> <target>. The link is the consumer path you are creating; the target is the existing physical owner. The link path must not already be a normal directory.

How do I remove a shared link without deleting models?

First verify which path is the link and which is the physical target. Remove only the consumer link, then recreate an empty native consumer folder if needed. Never run a recursive delete against an unresolved target.

Can two UIs run at the same time with shared models?

The files may be readable by both, but simultaneous GPU use and one process replacing a model while another scans it add unrelated risks. Stop all UIs while changing paths and use one write owner.

Will sharing models make loading faster?

It saves duplicate storage and maintenance. It does not guarantee faster loading; disk type, library size, hashing, file format and each application scanner still determine load and discovery time.

Can I keep shared models on a NAS?

Possibly, but this page did not test network storage, locking, disconnections or scan latency. Prove one read-only category and retain a local rollback before relying on a NAS.

Do compatible filenames prove a model works in every UI?

No. Category names and file extensions overlap, but loaders, model families and required companion files differ. Validate one exact file in each required workflow.

12 · SOURCES & LIMITS

Code decides paths. Your load test decides compatibility.

Product claims come from the original Forge source and each external project’s own configuration. Community material supplied failure language and rejected shortcuts.

Primary and direct evidence · 15
Research-catalog and fresh-search evidence · 9
VERIFIED

What was executed

Forge’s helper ran against two disposable A1111-shaped trees. ComfyUI’s current parser resolved an eight-path YAML fixture. A live and broken Linux category symlink were inspected.

UNKNOWN

What was not executed

No Windows junction, GPU model load, simultaneous multi-UI run, package-manager route, network share or NAS performance test was performed on this machine.

ASSUMPTION

Editorial protocol

One owner, read-only consumers, category-level routing and one-file acceptance tests are our reversible operating method; they are not an official cross-UI compatibility guarantee.

Author: Forge Field Guide editorial teamReviewer: source and path auditForge: dfdcbab6 · 26 Jun 2025ComfyUI: 95d755cd · 30 Aug 2026A1111: 82a973c0 · 27 Jul 2024Updated: 31 Aug 2026Refresh: any path flag, helper mapping, ComfyUI category or loader behavior changes