ORIGINAL FORGE · COMMIT-BOUND REFERENCE

Forge Command-Line Arguments

Search every argument registered by the inspected clean Original Forge core. Parser acceptance proves a name exists—not that it is safe, useful, or still controls the path its inherited help describes.

Core arguments167Grouped records100Code inspecteddfdcbabChecked31 Aug 2026
DIRECT ANSWER

Start with no flags. Add one explained change.

VERIFIED

At commit dfdcbab, the base WebUI parser registers 126 arguments, the Forge backend registers 35, and built-in preload hooks add 6 more. That produces 167 unique core arguments in a clean checkout.

A third-party extension can add more before the final parse. Eleven core entries explicitly say they do nothing. Several inherited A1111 flags remain parseable while current Forge uses separate backend controls.

126WEBUI PARSER
+
35FORGE BACKEND
+
6BUILT-IN PRELOADS
=
167CLEAN CORE
01 · ACTIVE LAUNCHER

Put the flag where the running launcher reads it.

The file name alone is not proof. Use a harmless theme argument as a wiring test, restart completely, and confirm the console prints it.

VERIFIED
EDIT[PROGRAM]\webui-user.bat
set COMMANDLINE_ARGS=--theme dark

Proof: Start webui-user.bat and read “Launching Web UI with arguments”.

VERIFIED
--exit is a special pre-parser token.

launch_utils.py checks it directly and exits after environment work, but the main parser never registers it. It is therefore documented but not counted among the 167 normal core arguments.

Inspect the branch ↗
02 · CHANGE PROTOCOL

Make the result attributable.

Flags become unmanageable when copied as a bundle. A seven-step receipt keeps one failure connected to one change.

  1. 01

    Save the clean line

    Copy the current COMMANDLINE_ARGS and the printed launch line before editing.

  2. 02

    Name one job

    Example: move checkpoints, expose an authenticated API, or isolate third-party extensions.

  3. 03

    Choose one flag

    Read its value type, owning code, boundary, and risk below.

  4. 04

    Quote the value

    Wrap a path or credential value containing spaces; never quote the flag name itself.

  5. 05

    Restart completely

    A browser refresh cannot apply a process-start argument.

  6. 06

    Read the launch line

    Confirm the exact flag and one complete value reached the process.

  7. 07

    Repeat one baseline

    Same model, inputs, seed, dimensions, extensions, and environment; then remove or keep deliberately.

03 · RISK LEGEND

The parser is not a recommendation engine.

Risk labels describe what a flag can disturb. They are editorial operating boundaries based on inspected code and cited owner warnings—not claims that every lower-impact flag is harmless.

LOWER IMPACT

Usually diagnostic or presentation-focused, but still record and remove after the test.

PATH / STATE

Changes files, inventories, downloads, or persistent state.

BASELINE CHANGE

Changes device, precision, memory, installation, or request behavior.

NETWORK EXPOSURE

Can make the service reachable beyond the default local session.

SECURITY SENSITIVE

Changes authentication, served files, code execution, safety checks, or process control.

INHERITED / LEGACY

Parsed for compatibility; current Forge effect can be partial, separate, or explicitly absent.

INTERNAL / TEST

Hidden or development-facing surface, not a normal user optimization.

04 · COMPLETE CORE INVENTORY

Search all 167 parsed arguments.

Every flag is present in the initial HTML. Grouped records keep mutually exclusive families together while exact flag chips remain individually searchable and countable.

Showing all 167 arguments in 100 grouped records

Startup & environment17 arguments
Back to filters ↑
-f
WEBUI PARSER
VERIFIEDINTERNAL / TEST
Takes
switch
Code-defined role
Hidden compatibility switch whose source comment says it allows running as root.
Boundary
Suppressed from parser help and implemented outside the WebUI. Do not use it to bypass the Unix launcher root check.
--update-all-extensions
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
switch
Code-defined role
Pull every extension during startup.
Boundary
Changes multiple executable codebases in one launch. Record extension commits and do not combine it with a Forge update during diagnosis.
--skip-python-version-check
WEBUI PARSER
VERIFIEDBASELINE CHANGE
Takes
switch
Code-defined role
Skips the launcher Python-version gate.
Boundary
It does not make an unsupported interpreter compatible; it only removes an early diagnostic.
--skip-torch-cuda-test
WEBUI PARSER
VERIFIEDBASELINE CHANGE
Takes
switch
Code-defined role
Skips the launcher test that checks whether Torch can use CUDA.
Boundary
It cannot repair a mismatched Torch, driver, CUDA runtime, or unsupported GPU. Continue only when the failed check itself is understood.
--reinstall-xformers--reinstall-torch
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
switches
Code-defined role
Forces launcher-managed reinstallation of the named package family.
Boundary
Environment mutation, not a harmless retry. Preserve the working package receipt and change one family at a time.
--update-check
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switch
Code-defined role
Runs the inherited update check during startup.
Boundary
A check is not an update or a maintenance guarantee. Bind conclusions to the inspected repository state.
--test-server
WEBUI PARSER
VERIFIEDINTERNAL / TEST
Takes
switch
Code-defined role
Configures the launcher for its test-server path.
Boundary
Development/testing surface, not a normal performance or connection fix.
--log-startup--loglevel
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switch; CRITICAL | ERROR | WARNING | INFO | DEBUG
Code-defined role
Adds detailed startup timing or selects the application log level.
Boundary
Useful for evidence capture. Logs can contain local paths and environment details; review before publishing.
--skip-prepare-environment
WEBUI PARSER
VERIFIEDBASELINE CHANGE
Takes
switch
Code-defined role
Skips the complete launcher environment-preparation phase.
Boundary
Assumes the environment is already complete. Missing packages or repositories will fail later and less clearly.
--skip-install
WEBUI PARSER
VERIFIEDBASELINE CHANGE
Takes
switch
Code-defined role
Skips package installation while retaining the rest of launcher preparation.
Boundary
Diagnostic/developer control. It does not prove installed dependencies match the recorded commit.
--skip-google-blockly
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switch
Code-defined role
Skips initialization of Google Blockly modules.
Boundary
Use only when that component is the isolated subject; it is unrelated to model loading and generation speed.
--dump-sysinfo
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switch
Code-defined role
Writes the limited sysinfo report and exits.
Boundary
The parser help explicitly says the limited dump omits extensions and options. It is not a complete reproduction receipt.
--do-not-download-clip
WEBUI PARSER
VERIFIEDBASELINE CHANGE
Takes
switch
Code-defined role
Prevents automatic CLIP download when the checkpoint does not include it.
Boundary
Can leave a model layout incomplete. Supply the documented encoder files instead of treating the missing component as optional.
--skip-version-check
WEBUI PARSER
VERIFIEDBASELINE CHANGE
Takes
switch
Code-defined role
Skips inherited Torch/xformers version checks.
Boundary
Suppresses a compatibility diagnostic; it does not change the installed versions.
--no-download-sd-model
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switch
Code-defined role
Prevents the fallback SD 1.5 download when no model is found.
Boundary
Useful for intentional empty or externally managed inventories. The UI still needs a compatible model before generation.
Paths & model inventories31 arguments
Back to filters ↑
--data-dir
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
directory
Code-defined role
Replaces the base directory for most user data.
Boundary
Moves more than models: settings, outputs, styles, user extensions, cache, and other defaults follow the data root.
--models-dir
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
directory
Code-defined role
Replaces the base models directory derived from the data root.
Boundary
Does not move embeddings, outputs, configuration, extensions, or the Python environment.
--config
WEBUI PARSER
VERIFIEDBASELINE CHANGE
Takes
file
Code-defined role
Selects the model-construction configuration file.
Boundary
Advanced model-loading control. A mismatched config can make a valid checkpoint fail or load incorrectly.
--ckpt
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
file
Code-defined role
Adds a named checkpoint to the inventory and requests it for loading.
Boundary
File discovery is not format or architecture compatibility.
--ckpt-dir
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
directory
Code-defined role
Adds or replaces the checkpoint inventory directory.
Boundary
Quote paths containing spaces and prove the effective value in the launch line.
--vae-dir
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
directory
Code-defined role
Adds the directory scanned for separate VAE files.
Boundary
Does not select a VAE or prove that a file matches the active model.
--text-encoder-dir
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
directory
Code-defined role
Adds the inventory directory for separate text encoders.
Boundary
Keep CLIP/T5 model files separate from textual-inversion embeddings.
--embeddings-dir
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
directory
Code-defined role
Changes the textual-inversion embeddings directory.
Boundary
This path is based on the data root by default, not the models root.
--textual-inversion-templates-dir
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
directory
Code-defined role
Changes the directory containing textual-inversion training templates.
Boundary
Training templates are not learned embeddings or prompt styles.
--hypernetwork-dir
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
directory
Code-defined role
Changes the hypernetwork inventory directory.
Boundary
Legacy inventory control; path acceptance does not establish current workflow compatibility.
--localizations-dir
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
directory
Code-defined role
Changes the localization-files directory.
Boundary
Localization code can be version-sensitive and does not change model behavior.
--gfpgan-dir--gfpgan-model
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
directory; file name
Code-defined role
Selects the GFPGAN source directory or one model filename.
Boundary
Separate from the GFPGAN model-inventory path below; confirm which consumer produced the error.
--codeformer-models-path--gfpgan-models-path--esrgan-models-path--bsrgan-models-path--realesrgan-models-path--dat-models-path--clip-models-path
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
directories
Code-defined role
Changes the model inventories for restoration, upscaler, and interrogate components.
Boundary
Each flag owns only its named family. Do not point every family at one undifferentiated directory.
--scunet-models-path--swinir-models-path
BUILT-IN PRELOAD
VERIFIEDPATH / STATE
Takes
directories
Code-defined role
Built-in preload arguments for ScuNET and SwinIR model directories.
Boundary
Added by built-in preload hooks, so they disappear if that built-in is removed from the installed source.
--lora-dir--lyco-dir-backcompat
BUILT-IN PRELOAD
VERIFIEDPATH / STATE
Takes
directories
Code-defined role
Built-in preload paths for LoRA and backward-compatible LyCORIS inventory.
Boundary
The LyCORIS name is explicitly a compatibility surface. Do not infer support for every current LyCORIS variant.
--controlnet-dir--controlnet-preprocessor-models-dir
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
directories
Code-defined role
Changes integrated ControlNet weight and preprocessor model directories.
Boundary
Weights and preprocessors are separate inventories and cannot substitute for one another.
--forge-ref-a1111-home
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
A1111 checkout directory
Code-defined role
Maps supported model inventories from an existing A1111 checkout.
Boundary
The helper expects A1111-shaped subdirectories. It is not a generic root for Fooocus, ComfyUI, or arbitrary folders.
--ui-config-file--ui-settings-file
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
files
Code-defined role
Changes the UI component-default file or Settings state file.
Boundary
These files have different roles. Back up both before a reset or migration.
--styles-file
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
file or wildcard; repeatable
Code-defined role
Adds one or more prompt-style file paths or wildcard patterns.
Boundary
Preserve valid CSV structure. A matching wildcard can load more files than intended.
--vae-path
WEBUI PARSER
VERIFIEDBASELINE CHANGE
Takes
file
Code-defined role
Pins one VAE file and disables VAE-related Settings selection.
Boundary
A global pin can silently override per-model expectations; record it in every reproduction receipt.
Devices, precision & memory62 arguments
Back to filters ↑
--gpu-device-id
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
integer
Code-defined role
Selects the backend GPU device index.
Boundary
Backend device selector. Do not confuse it with the inherited string-valued --device-id.
--all-in-fp32--all-in-fp16
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
mutually exclusive switches
Code-defined role
Forces a broad FP32 or FP16 backend precision preference.
Boundary
Mutually exclusive global overrides. They change memory, compatibility, output, and sometimes speed.
--unet-in-bf16--unet-in-fp16--unet-in-fp8-e4m3fn--unet-in-fp8-e5m2
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
mutually exclusive switches
Code-defined role
Forces the UNet/diffusion-model storage or execution dtype family.
Boundary
Hardware and model support are not guaranteed by parser acceptance. Compare a fixed-seed baseline and inspect for invalid output.
--vae-in-fp16--vae-in-fp32--vae-in-bf16
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
mutually exclusive switches
Code-defined role
Forces the VAE dtype preference.
Boundary
Can change memory use and decoding reliability. Black output requires diagnosis, not another blind precision stack.
--vae-in-cpu
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
switch
Code-defined role
Keeps VAE processing on CPU through the backend memory manager.
Boundary
Trades device use and transfer time; not a universal OOM fix.
--clip-in-fp8-e4m3fn--clip-in-fp8-e5m2--clip-in-fp16--clip-in-fp32
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
mutually exclusive switches
Code-defined role
Forces text-encoder precision preferences.
Boundary
Encoder support varies by model package and device. A successful launch does not prove conditioning is correct.
--attention-split--attention-quad--attention-pytorch
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
mutually exclusive switches
Code-defined role
Selects one current backend attention implementation.
Boundary
These are the backend selectors. Do not stack them with one another or assume inherited A1111 attention flags control the same code.
--force-upcast-attention--disable-attention-upcast
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
mutually exclusive switches
Code-defined role
Forces or disables backend attention upcasting.
Boundary
Changes numerical behavior. Use only for an identified precision problem and compare the exact same job.
--disable-xformers
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
switch
Code-defined role
Prevents selection of the backend xformers attention implementation.
Boundary
Current backend control; distinct from inherited --xformers and --force-enable-xformers parser entries.
--directml
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
optional device integer
Code-defined role
Requests the DirectML backend, optionally with a device index.
Boundary
Code presence is not a current hardware support matrix. Follow the separate AMD/DirectML boundary and test the exact stack.
--disable-ipex-hijack
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
switch
Code-defined role
Disables the backend Intel Extension for PyTorch hijack path.
Boundary
Diagnostic backend control, not proof that Intel hardware is supported by the remaining environment.
--always-gpu--always-high-vram--always-normal-vram--always-low-vram--always-no-vram--always-cpu
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
mutually exclusive switches
Code-defined role
Forces one backend VRAM/CPU state instead of automatic selection.
Boundary
Global override. Current Forge also exposes runtime memory controls in the UI; do not tune both surfaces at once.
--always-offload-from-vram
FORGE BACKEND
STALE SNAPSHOTBASELINE CHANGE
Takes
switch
Code-defined role
Always offloads model memory from VRAM when possible.
Boundary
The maintainer’s dated note calls it slower but less risky. It is not a free memory increase.
--pytorch-deterministic
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
switch
Code-defined role
Requests deterministic PyTorch behavior in the backend.
Boundary
Does not guarantee cross-device, cross-version, or extension-level reproducibility.
--cuda-malloc
FORGE BACKEND
STALE SNAPSHOTBASELINE CHANGE
Takes
switch
Code-defined role
Requests the cudaMallocAsync allocator path when supported.
Boundary
The 2024 maintainer note reports small or unnoticed gains on many devices and crashes for some users. Measure and retain a rollback.
--cuda-stream
FORGE BACKEND
STALE SNAPSHOTBASELINE CHANGE
Takes
switch
Code-defined role
Uses a CUDA stream path to overlap model movement and computation.
Boundary
Dated owner tests report both speed gains and higher black-image/OOM risk on some GPUs. Never combine it with other tuning flags in the first test.
--pin-shared-memory
FORGE BACKEND
STALE SNAPSHOTBASELINE CHANGE
Takes
switch
Code-defined role
Pins shared GPU memory for the backend offload path.
Boundary
The owner says it is effective with --cuda-stream and warns that shared-memory OOM can crash the whole process.
--disable-gpu-warning
FORGE BACKEND
VERIFIEDBASELINE CHANGE
Takes
switch
Code-defined role
Suppresses the backend low-free-GPU-memory warning.
Boundary
Removes a diagnostic only. It creates no headroom and should never be presented as an OOM repair.
--no-half--no-half-vae
WEBUI PARSER
VERIFIEDBASELINE CHANGE
Takes
switches
Code-defined role
Inherited precision controls used by some remaining upscaler/restoration paths.
Boundary
Current Forge backend owns primary model precision. These inherited flags have partial consumers and are not universal model fixes.
--medvram--medvram-sdxl--lowvram
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
switches
Code-defined role
Inherited A1111 low-memory parser surface.
Boundary
The inspected Forge backend uses its own memory manager and UI controls. Parser presence does not prove the old A1111 behavior applies end to end.
--lowram
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
switch
Code-defined role
Changes the inherited checkpoint weight-load location away from the normal CPU staging path.
Boundary
Name and help text are easy to misread. Treat it as a legacy compatibility control and verify the actual load trace.
--precision--upcast-sampling
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
full | half | autocast; switch
Code-defined role
Inherited evaluation/upcast controls with limited remaining consumers.
Boundary
Do not substitute them for the current backend UNet, VAE, CLIP, and attention precision flags.
--xformers--force-enable-xformers--xformers-flash-attention
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
switches
Code-defined role
Inherited xformers installation/selection arguments.
Boundary
The inspected A1111 optimization-selection block is commented out while current backend attention has separate controls. --force-enable-xformers explicitly rejects bug reports when forced support fails.
--opt-split-attention--opt-sub-quad-attention--opt-split-attention-invokeai--opt-split-attention-v1
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
switches
Code-defined role
Inherited A1111 attention preference arguments.
Boundary
Parsed at this commit, but current backend attention selection is separate. Do not infer active end-to-end behavior from the old help text.
--sub-quad-q-chunk-size--sub-quad-kv-chunk-size--sub-quad-chunk-threshold
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
integers
Code-defined role
Inherited sub-quadratic attention chunk controls.
Boundary
Only meaningful if the owning implementation consumes them. Changing numbers without proving that route is active adds noise.
--opt-sdp-attention--opt-sdp-no-mem-attention--disable-opt-split-attention
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
switches
Code-defined role
Inherited scaled-dot-product or optimization-disable preferences.
Boundary
Do not mix with current mutually exclusive backend attention flags in a baseline test.
--disable-nan-check
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
switch
Code-defined role
Inherited switch intended to skip non-finite-value checks.
Boundary
At the inspected commit, test_for_nans returns immediately before consulting this flag. It cannot repair a black or invalid image.
--use-cpu
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
one or more module names
Code-defined role
Inherited request to use CPU for named modules.
Boundary
Current Forge device routing is backend-managed and some inherited module names are compatibility surfaces. Verify each consumer.
--use-ipex
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
switch
Code-defined role
Inherited request to use Intel XPU as the Torch device.
Boundary
Distinct from backend --disable-ipex-hijack. Parser presence is not a current Intel support guarantee.
--disable-model-loading-ram-optimization
WEBUI PARSER
VERIFIEDBASELINE CHANGE
Takes
switch
Code-defined role
Disables an inherited optimization intended to reduce RAM use during model loading.
Boundary
Increases the diagnostic surface and may increase memory demand. Use only to isolate that exact loading optimization.
--opt-channelslast
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
switch
Code-defined role
Requests channels-last memory format for inherited Stable Diffusion paths.
Boundary
Measure the exact model and device; parser acceptance does not guarantee a speed benefit.
--device-id
WEBUI PARSER
VERIFIEDBASELINE CHANGE
Takes
string
Code-defined role
Inherited CUDA device selector that can work with CUDA_VISIBLE_DEVICES.
Boundary
Do not confuse it with backend --gpu-device-id. Record both the environment variable and effective device line.
Server, sharing & API21 arguments
Back to filters ↑
--share
WEBUI PARSER
VERIFIEDNETWORK EXPOSURE
Takes
switch
Code-defined role
Requests a Gradio public sharing route.
Boundary
Expands access beyond localhost. It is not a fix for a crashed process or wrong local port.
--ngrok--ngrok-options
WEBUI PARSER
VERIFIEDNETWORK EXPOSURE
Takes
auth token; JSON
Code-defined role
Starts the inherited ngrok tunnel path and passes JSON options.
Boundary
Treat tokens as secrets. A tunnel exposes a service and needs authentication, network, and data review.
--listen--port
WEBUI PARSER
VERIFIEDNETWORK EXPOSURE
Takes
switch; integer
Code-defined role
Binds for network requests and optionally selects the server port.
Boundary
0.0.0.0 is a bind address, not the normal browser destination. Firewall and authentication remain separate responsibilities.
--gradio-auth--gradio-auth-path
WEBUI PARSER
VERIFIEDSECURITY SENSITIVE
Takes
credentials; credential file
Code-defined role
Adds Gradio username/password authentication inline or from a file.
Boundary
Command lines and files can leak credentials. Authentication does not make an unsafe public deployment production-ready.
--gradio-allowed-path
WEBUI PARSER
VERIFIEDSECURITY SENSITIVE
Takes
directory; repeatable
Code-defined role
Adds filesystem locations Gradio may serve.
Boundary
Broadens file exposure. Allow the narrowest required directory and never use it as a general disk-sharing shortcut.
--api--nowebui
WEBUI PARSER
VERIFIEDNETWORK EXPOSURE
Takes
switches
Code-defined role
Enables the API with the WebUI or starts API-only mode.
Boundary
--nowebui changes the primary interface and implies API mode. Network binding, authentication, and input-URL policy remain separate.
--api-auth--api-log
WEBUI PARSER
VERIFIEDSECURITY SENSITIVE
Takes
credentials; switch
Code-defined role
Adds API credentials or logs API requests.
Boundary
Logs and process arguments may expose sensitive material. Review retention and access before enabling.
--cors-allow-origins--cors-allow-origins-regex
WEBUI PARSER
VERIFIEDSECURITY SENSITIVE
Takes
comma list; regex
Code-defined role
Configures allowed browser origins for API requests.
Boundary
CORS is a browser policy, not authentication or a firewall. A broad regex can expose more origins than intended.
--tls-keyfile--tls-certfile--disable-tls-verify
WEBUI PARSER
VERIFIEDSECURITY SENSITIVE
Takes
key file; certificate file; switch
Code-defined role
Configures Gradio TLS and optionally permits a self-signed certificate.
Boundary
Key and certificate must be supplied together. The negatively named verify flag changes certificate trust and needs an explicit threat model.
--server-name--subpath
WEBUI PARSER
VERIFIEDNETWORK EXPOSURE
Takes
hostname; path segment
Code-defined role
Changes the bind hostname or reverse-proxy root path.
Boundary
Proxy headers, authentication, TLS, websocket behavior, and public routing are outside what these two flags alone solve.
--api-server-stop--timeout-keep-alive
WEBUI PARSER
VERIFIEDSECURITY SENSITIVE
Takes
switch; seconds
Code-defined role
Enables API stop/restart/kill routes or changes the Uvicorn keep-alive timeout.
Boundary
Remote process-control routes are high impact. Do not expose them without strong access controls and an intentional deployment design.
Extensions & security controls5 arguments
Back to filters ↑
--allow-code
WEBUI PARSER
VERIFIEDSECURITY SENSITIVE
Takes
switch
Code-defined role
Allows custom script execution from the WebUI.
Boundary
Directly expands code-execution capability. Never enable for untrusted users or content.
--enable-insecure-extension-access
WEBUI PARSER
VERIFIEDSECURITY SENSITIVE
Takes
switch
Code-defined role
Keeps the Extensions tab available even when Forge detects a non-local launch.
Boundary
Overrides a deliberate protection applied to share/listen/ngrok/server-name sessions.
--disable-safe-unpickle
WEBUI PARSER
VERIFIEDSECURITY SENSITIVE
Takes
switch
Code-defined role
Disables the PyTorch model malicious-code safety check.
Boundary
Security control, not a compatibility tweak. Do not recommend it as a generic way to load an unknown checkpoint.
--disable-all-extensions--disable-extra-extensions
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switches
Code-defined role
Prevents every extension, or only non-built-in extensions, from running.
Boundary
Use extra first to isolate third-party code; use all only to test built-ins too. Remove the flag after diagnosis.
Interface, logging & files20 arguments
Back to filters ↑
--no-progressbar-hiding
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switch
Code-defined role
Keeps the Gradio progress bar visible instead of hiding it.
Boundary
The parser help warns that browser hardware acceleration can make the visible progress bar slow ML work.
--hide-ui-dir-config--freeze-settings--freeze-settings-in-sections--freeze-specific-settings
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switches; comma lists
Code-defined role
Hides path configuration or freezes all, sectional, or named Settings controls.
Boundary
Useful for controlled deployments. Record the locked keys so a missing control is not misdiagnosed as a version regression.
--gradio-debug
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switch
Code-defined role
Launches Gradio with its debug option.
Boundary
Debug output may disclose internal details. Use locally and remove after evidence capture.
--autolaunch--theme
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switch; theme name
Code-defined role
Opens the browser automatically or selects the initial light/dark theme.
Boundary
Presentation controls; they do not repair a server that failed before printing a URL.
--use-textbox-seed
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switch
Code-defined role
Uses a plain text box for seed input so long integers can be entered directly.
Boundary
Changes the control type, not seed semantics or reproducibility requirements.
--disable-console-progressbars
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switch
Code-defined role
Suppresses console progress bars.
Boundary
Reduces live console detail and does not improve model execution by itself.
--ui-debug-mode
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switch
Code-defined role
Starts the interface without loading a model for faster UI inspection.
Boundary
A passing UI-debug launch does not prove model loading or generation works.
--administrator
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
switch
Code-defined role
Sets the inherited administrator-rights option consumed by the WebUI surface.
Boundary
Does not grant operating-system administrator privileges. Treat it as an inherited application flag.
--no-gradio-queue
WEBUI PARSER
VERIFIEDBASELINE CHANGE
Takes
switch
Code-defined role
Disables the Gradio queue and uses HTTP requests instead of websockets.
Boundary
Changes request transport and extension assumptions. Do not use it as a generic connection repair.
--skip-load-model-at-start
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switch
Code-defined role
Skips initial model loading when running API-only mode.
Boundary
Parser help limits the effect to --nowebui. It does not speed a normal WebUI launch.
--unix-filenames-sanitization--filenames-max-length
WEBUI PARSER
VERIFIEDPATH / STATE
Takes
switch; integer
Code-defined role
Changes filename character sanitization or maximum saved filename length.
Boundary
Can conflict with the browser, filesystem, sync tools, or destination limits. Existing names are not retroactively repaired.
--no-prompt-history
WEBUI PARSER
VERIFIEDLOWER IMPACT
Takes
switch
Code-defined role
Disables the last-prompt read/write feature and prevents params.txt creation.
Boundary
Removes only that small history artifact; it is not a complete privacy or offline mode.
--no-hashing
WEBUI PARSER
VERIFIEDSECURITY SENSITIVE
Takes
switch
Code-defined role
Disables SHA-256 checkpoint hashing to reduce loading work.
Boundary
Removes a useful identity signal. Filename alone is not enough to reproduce or verify a model.
--controlnet-loglevel--controlnet-tracemalloc
BUILT-IN PRELOAD
VERIFIEDLOWER IMPACT
Takes
level; switch
Code-defined role
Built-in ControlNet preload controls for logging level and memory tracing.
Boundary
Diagnostic overhead and output belong to integrated ControlNet only, not every Forge subsystem.
Parser-declared no-op arguments11 arguments
Back to filters ↑
--max-batch-count--always-batch-cond-uncond--show-negative-prompt
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
integer; switches
Code-defined role
Retained parser compatibility entries whose own help says they do nothing.
Boundary
Do not recommend, benchmark, or troubleshoot with them. Acceptance by the parser is their only verified behavior here.
--unload-gfpgan--deepdanbooru
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
switches
Code-defined role
Retained GFPGAN/DeepDanbooru compatibility entries whose help says they do nothing.
Boundary
They cannot unload a current restoration path or enable a tagger at this commit.
--gradio-img2img-tool--gradio-inpaint-tool--gradio-queue
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
values; switch
Code-defined role
Retained Gradio compatibility entries explicitly described as no-op.
Boundary
Use the current UI and --no-gradio-queue behavior; these names do not restore older tool selectors.
--ngrok-region--enable-console-prompts--add-stop-route
WEBUI PARSER
STALE SNAPSHOTINHERITED / LEGACY
Takes
value; switches
Code-defined role
Retained parser entries explicitly described as no-op or legacy compatibility.
Boundary
Do not mistake --add-stop-route for the active --api-server-stop control.
05 · PRODUCT BOUNDARY

Do not import another project’s launch recipe.

Similar names are especially dangerous in command-line documentation because the parser can change silently between repositories and extensions.

VERIFIED

Clean Original Forge core

The 167 names on this page come from commit dfdcbab: two core parser files plus built-in preload hooks.

UNKNOWN

User extension arguments

Enabled third-party extensions can register more names before the final parse. Their behavior belongs to that extension and commit.

UNKNOWN

Fork and manager arguments

reForge, Forge Neo, Forge Classic, containers, and launch managers can wrap or replace this parser. Their flags are not Original Forge facts.

06 · USER QUESTIONS

Answers before you edit the launcher.

These questions were derived from the catalogued installation material, full transcripts, current discussions, and the exact parser audit.

Where do I put Forge command-line arguments on Windows?

For the source/Git route, edit COMMANDLINE_ARGS in the active webui-user.bat and launch that file. The official Windows archive has an outer package layer; inspect its run.bat first and confirm which inner launcher it calls before editing a similarly named file.

Where do I put Forge flags on Linux or macOS?

Set export COMMANDLINE_ARGS="..." in webui-user.sh, then start Forge through webui.sh so that user file is sourced. Do not edit webui.sh for a normal persistent argument.

How do I add more than one argument?

Put the flags on the same COMMANDLINE_ARGS value separated by spaces. Quote each value that contains spaces. Add one new flag per test so the result still identifies a cause.

How do I quote a Windows path with spaces?

Quote the value, not the flag: --ckpt-dir "D:\AI Models\Stable-diffusion". Then confirm the complete path appears as one value in the launch line and no “unrecognized arguments” fragment remains.

How can I confirm which arguments Forge actually received?

Read the console line beginning “Launching Web UI with arguments”. Save that line with the commit and environment receipt. A value written in a dormant launcher file is not evidence that the running process received it.

Why does Forge say unrecognized arguments?

The flag may be misspelled, copied from reForge/Neo/Classic, supplied by a missing third-party extension, or broken into extra tokens by incorrect quoting. Compare it with this commit-bound core inventory and the active extension preloads.

Does being accepted by the parser mean a flag works?

No. It proves only that the current parser recognizes the name. Eleven entries explicitly say they do nothing, and several inherited A1111 controls have partial or separate consumers in current Forge.

What is the difference between --listen, --share, and --api?

--listen changes network binding, --share requests a Gradio public tunnel, and --api enables API routes. They solve different jobs, can be combined, and each changes the security boundary beyond a default localhost-only UI.

Is --listen safe for LAN access?

It makes Forge respond to network requests but does not supply a complete deployment security design. Review firewall scope, authentication, allowed paths, API settings, sensitive outputs, and every extension before exposing it.

Should I use --disable-safe-unpickle when a model will not load?

Not as a generic fix. It disables a malicious-code safety check for PyTorch model loading. Verify the model format and source instead of weakening the control for an unknown file.

Does --disable-nan-check fix black images?

No. A flag cannot turn non-finite tensors into a valid image. At the inspected commit the relevant test function returns before using this inherited flag, so it is retained as a stale compatibility surface.

Should I use --skip-torch-cuda-test after a GPU error?

Only when you already understand why the test is wrong for that exact environment. Skipping it does not repair Torch, the driver, CUDA runtime, or an unsupported GPU; it can merely defer the failure.

Should I enable --cuda-malloc, --cuda-stream, and --pin-shared-memory together?

Do not begin with all three. The dated maintainer note describes potential gains and specific crash, black-output, and OOM risks. Add one change to a recorded baseline, repeat the same job, and retain a rollback.

Should I still use --medvram or --lowvram in Forge?

They remain in the inherited parser, but current Forge has its own backend memory manager and runtime memory controls. Do not assume an old A1111 recipe controls the complete Forge path; use the dedicated memory guide and verify the actual device trace.

What is the difference between --disable-extra-extensions and --disable-all-extensions?

--disable-extra-extensions keeps built-ins while blocking third-party extensions. --disable-all-extensions blocks both. Start with extra for extension isolation, then use all only when a built-in must also be tested.

What is the difference between --data-dir and --models-dir?

--data-dir moves the broad user-data base, including default settings, outputs, user extensions, cache, and models. --models-dir replaces only the models base. Use the paths reference before moving either.

Which Forge command-line arguments do nothing?

At this commit the parser help explicitly calls eleven entries no-op or legacy: max-batch-count, always-batch-cond-uncond, unload-gfpgan, ngrok-region, deepdanbooru, show-negative-prompt, both old Gradio tool flags, enable-console-prompts, gradio-queue, and add-stop-route.

Can an extension add its own command-line flags?

Yes. Forge preloads enabled user extensions and built-ins before its final parse. This page inventories the clean Original Forge core and its built-ins; extension-specific flags belong to the exact extension and commit that defines them.

Why is --exit not included in the 167 parsed arguments?

launch_utils checks the literal token before the final parser, but the inspected core parser does not register it with add_argument. It is documented here as a special internal token, not counted as a normal core argument.

Can I copy a command-line list from reForge or Forge Neo?

No. Those are separate repositories with different parsers and behavior. Copy only a flag verified in the exact Original Forge commit you run, then add it to a clean baseline one at a time.

07 · SOURCES & LIMITS

Names came from code. Intent came from users.

The inventory was extracted from a local checkout of Original Forge commit dfdcbab and compared with current repository pages on 31 Aug 2026. Secondary sources never added a flag or extended an SEO rule.

Primary / direct evidence

Local research reviewed: 8 records, including 2 full video transcripts
A07

HammerAI Forge API guide

Integration vocabulary and API/CORS user intent; deployment advice not treated as core authority.

VERIFIEDVerified

Exact parser names, clean-core count, grouping source, explicit no-op help, and inspected consumers.

STALE SNAPSHOTDated mechanisms

Owner performance warnings and package examples remain dated evidence, not permanent device outcomes.

UNKNOWNNot generalized

Third-party extension flags, manager wrappers, every hardware result, and flags from forks.

Author Forge Field Guide editorial teamTechnical review Original Forge source at dfdcbabUpdated 31 Aug 2026