Chrome Flags Reference

We got tired of not being able to quickly search through Chrome flags that are constantly changing. So we built this. 694 flags, searchable, updated daily.

Whether you're disabling GPU acceleration, running headless, or doing something weird with sandboxing — it's probably in here.

Last updated: February 2, 2026

--accept-lang

----------------------------------------------------------------------------- Can't find the switch you are looking for? Try looking in: ash/constants/ash_switches.cc base/base_switches.cc etc. When commenting your switch, please use the same voice as surrounding comments. Imagine "This switch..." at the beginning of the phrase, and it'll all work out. ----------------------------------------------------------------------------- Specifies Accept-Language to send to servers and expose to JavaScript via the navigator.language DOM property. language[-country] where language is the 2 letter code from ISO-639.

chrome_switches.cc
--adaboost
dom_distiller_switches.cc
--add-xr-appcontainer-caps

Add additional capabilities to the AppContainer sandbox used for XR compositing.

switches.cc
--allarticles
dom_distiller_switches.cc
--allow-command-line-plugins

Allows plugins to be loaded in the command line for testing.

content_switches.cc
--allow-cross-origin-auth-prompt

Allows third-party content included on a page to prompt for a HTTP basic auth username/password pair.

chrome_switches.cc
--allow-file-access-from-files

By default, file:// URIs cannot read other file:// URIs. This is an override for developers who need the old behavior for testing.

content_switches.cc
--allow-http-screen-capture

Allow non-secure origins to use the screen capture API and the desktopCapture extension API.

chrome_switches.cc
--allow-insecure-localhost

Enables TLS/SSL errors on localhost to be ignored (no interstitial, no blocking of requests).

content_switches.cc
--allow-ra-in-dev-mode

Allows remote attestation (RA) in dev mode for testing purpose. Usually RA is disabled in dev mode because it will always fail. However, there are cases in testing where we do want to go through the permission flow even in dev mode. This can be enabled by this flag.

media_switches.cc
--allow-running-insecure-content

By default, an https page cannot run JavaScript, CSS or plugins from http URLs. This provides an override to get the old insecure behavior.

chrome_switches.cc
--allow-sandbox-debugging

Allows debugging of sandboxed processes (see zygote_main_linux.cc).

switches.cc
--allow-silent-push

Allows Web Push notifications that do not show a notification.

chrome_switches.cc
--allow-third-party-modules

Allows third party modules to inject by disabling the BINARY_SIGNATURE mitigation policy on Win10+. Also has other effects in ELF.

switches.cc
--alsa-input-device

The Alsa device to use when opening an audio input stream.

media_switches.cc
--alsa-output-device

The Alsa device to use when opening an audio stream.

media_switches.cc
--alwaystrue
dom_distiller_switches.cc
--angle
gl_switches.cc
--animation-duration-scale

Scale factor to apply to every animation duration. Must be >= 0.0. This will only apply to LinearAnimation and its subclasses.

switches.cc
--app

Specifies that the associated value should be launched in "application" mode.

chrome_switches.cc
--app-id

Specifies that the extension-app with the specified id should be launched according to its configuration.

chrome_switches.cc
--app-mode-auth-code

Value of GAIA auth code for --force-app-mode.

chrome_switches.cc
--app-mode-oauth-token

Value of OAuth2 refresh token for --force-app-mode.

chrome_switches.cc
--app-run-on-os-login-mode

This is used along with kAppId to indicate an app was launched during OS login, and which mode the app was launched in.

chrome_switches.cc
--app-shim

A process type (switches::kProcessType) that is used by App Shim processes. See chrome/app_shim/app_shim_main_delegate.mm.

chrome_switches.cc
--apps-gallery-download-url

Overrides the URL that the webstore APIs download extensions from. Note: the URL must contain one '%s' for the extension ID.

chrome_switches.cc
--apps-gallery-update-url

Overrides the update url used by webstore extensions.

chrome_switches.cc
--apps-gallery-url

Overrides the url that the browser treats as the webstore, granting it the webstore APIs and giving it some special protections.

chrome_switches.cc
--apps-keep-chrome-alive-in-tests

Prevents Chrome from quitting when Chrome Apps are open.

chrome_switches.cc
--arcore

The following are the runtimes that WebXr supports.

content_switches.cc
--as-browser

Flag to launch tests in the browser process.

content_switches.cc
--ash-enable-software-mirroring

scripts have been updated, the leading "ash" prefix should be removed. Enables software based mirroring.

display_switches.cc
--ash-enable-unified-desktop

Enables unified desktop mode.

display_switches.cc
--ash-host-window-bounds

Sets a window size, optional position, optional scale factor and optional panel radii. "1024x768" creates a window of size 1024x768. "100+200-1024x768" positions the window at 100,200. "1024x768*2" sets the scale factor to 2 for a high DPI display. "1024x768~15|15|12|12" sets the radii of the panel corners as (upper_left=15px,upper_right=15px, lower_right=12px, upper_left=12px) "800,0+800-800x800" for two displays at 800x800 resolution. "800,0+800-800x800,0+1600-800x800" for three displays at 800x800 resolution.

display_switches.cc
--audio-buffer-size

Allow users to specify a custom buffer size for debugging purpose.

media_switches.cc
--audio-codecs-from-edid

Audio codecs supported by the HDMI sink is retrieved from the audio service process. EDID contains the Short Audio Descriptors, which list the audio decoders supported, and the information is presented as a bitmask of supported audio codecs.

media_switches.cc
--audio-process-high-priority

Use high priority for the audio process.

content_switches.cc
--auth-server-allowlist

Allowlist for Negotiate Auth servers

chrome_switches.cc
--auth-spnego-account-type

Android authentication account type for SPNEGO authentication

chrome_switches.cc
--auto

The values the kTouchEventFeatureDetection switch may have, as in --touch-events=disabled. auto: enabled at startup when an attached touchscreen is present.

content_switches.cc
--auto-accept-browser-signin-for-tests

Automatically signs the user into Chrome when signing in to other Google services on the web. This makes it easier for automated browsers to sign in.

chrome_switches.cc
--auto-accept-this-tab-capture

These flags make Chrome auto-accept/reject requests to capture the current tab. It should only be used for tests.

chrome_switches.cc
--auto-open-devtools-for-tabs

This flag makes Chrome auto-open DevTools window for each tab. It is intended to be used by developers and automation to not require user interaction for opening DevTools.

chrome_switches.cc
--auto-reject-capture

This flag makes Chrome auto-reject requests capture a tab/window/screen.

chrome_switches.cc
--auto-reject-this-tab-capture
chrome_switches.cc
--autofill-api-key

Sets the API key that will be used when calling Autofill API instead of using Chrome's baked key by default. You can use this to test new versions of the API that are not linked to the Chrome baked key yet.

autofill_switches.cc
--autofill-server-url

Override the default autofill server URL with "scheme://host[:port]/prefix/".

autofill_switches.cc
--autoplay-policy

Command line flag name to set the autoplay policy.

media_switches.cc
--bgra
gl_switches.cc
--bootstrap

Values for the kExtensionContentVerification flag. See ContentVerifierDelegate::Mode for more explanation.

chrome_switches.cc
--browser-startup-dialog

Causes the browser process to display a dialog on launch.

content_switches.cc
--browser-subprocess-path

Path to the exe to run for the renderer and plugin subprocesses.

content_switches.cc
--browser-test

Browser test mode for the |kStartStackProfiler| switch. Limits the profile durations to be significantly less than the test timeout. On ChromeOS, forces the stack sampling profiler to run on all processes as well.

chrome_switches.cc
--browser-ui-tests-verify-pixels

Causes tests to attempt to verify pixel output.

content_switches.cc
--canvas-2d-layers

Enable in-progress canvas 2d API methods BeginLayer and EndLayer.

content_switches.cc
--cardboard
content_switches.cc
--cc-layer-tree-test-long-timeout

Increases timeout for memory checkers.

switches.cc
--cc-layer-tree-test-no-timeout

Prevents the layer tree unit tests from timing out.

switches.cc
--change-stack-guard-on-fork

After a zygote forks a new process, change the stack canary. This switch is useful so not all forked processes use the same canary (a secret value), which can be vulnerable to information leaks and brute force attacks. See https://crbug.com/1206626. This requires that all functions on the stack at the time content::RunZygote() is called be compiled without stack canaries. Valid values are "enable" or "disable".

content_switches.cc
--check-damage-early

Checks damage early and aborts the frame if no damage, so that clients like Android WebView don't invalidate unnecessarily.

switches.cc
--check-for-update-interval

How often (in seconds) to check for updates. Should only be used for testing purposes.

chrome_switches.cc
--cipher-suite-blacklist

Comma-separated list of SSL cipher suites to disable.

chrome_switches.cc
--class

The same as the --class argument in X applications. Overrides the WM_CLASS window property with the given value.

chrome_switches.cc
--clear-key-cdm-path-for-testing

Specifies the path to the Clear Key CDM for testing, which is necessary to support External Clear Key key system when library CDM is enabled. Note that External Clear Key key system support is also controlled by feature kExternalClearKeyForTesting.

media_switches.cc
--clear-token-service

Command line switches, sorted by name. Clears the token service before using it. This allows simulating the expiration of credentials during testing.

signin_switches.cc
--code-sign-clone-cleanup

A process type (switches::kProcessType) that cleans up the browser's temporary code sign clone.

chrome_switches.cc
--collect-dawn-info-eagerly

Start the GPU process for Dawn info collection immediately after the browser starts. The default is to delay for 120 seconds.

gpu_switches.cc
--compile-shader-always-succeeds

Always return success when compiling a shader. Linking will still fail.

gpu_switches.cc
--crash-on-hang-threads

Comma-separated list of BrowserThreads that cause browser process to crash if the given browser thread is not responsive. UI/IO are the BrowserThreads that are supported. For example: --crash-on-hang-threads=UI:18,IO:18 --> Crash the browser if UI or IO is not responsive for 18 seconds while the other browser thread is responsive.

chrome_switches.cc
--crash-test

Causes the browser process to crash on startup.

content_switches.cc
--credits

Prints licensing information (same content as found in about:credits) and quits.

chrome_switches.cc
--crosh-command

Custom crosh command.

chrome_switches.cc
--custom-devtools-frontend

Specifies the http:// endpoint which will be used to serve devtools://devtools/custom/<path> Or a file:// URL to specify a custom file path to load from for devtools://devtools/bundled/<path>

chrome_switches.cc
--d3d11
gl_switches.cc
--d3d11-null

Special switches for "NULL"/stub driver implementations.

gl_switches.cc
--d3d11-warp
gl_switches.cc
--d3d11-warp-webgl
gl_switches.cc
--d3d11on12
gl_switches.cc
--d3d9
gl_switches.cc
--dawn
gpu_switches.cc
--dawn-d3d11
gpu_switches.cc
--dawn-d3d12
gpu_switches.cc
--dawn-metal
gpu_switches.cc
--dawn-opengles
gpu_switches.cc
--dawn-swiftshader
gpu_switches.cc
--dawn-vulkan
gpu_switches.cc
--debug-packed-apps

Adds debugging entries such as Inspect Element to context menus of packed apps.

chrome_switches.cc
--debug-print

Enables support to debug printing subsystem.

chrome_switches.cc
--default
gl_switches.cc
--default-country-code

Default country code to be used for search engine localization.

base_switches.cc
--device-management-url

Specifies the URL at which to communicate with the device management backend to fetch configuration policies and perform other device tasks.

policy_switches.cc
--device-scale-factor

Device scale factor passed to certain processes like renderers, etc.

content_switches.cc
--devtools-flags

Passes command line parameters to the DevTools front-end.

chrome_switches.cc
--devtools-greendev-ui

Enables the experimental GreenDev UI in DevTools.

chrome_switches.cc
--diagnostics

Triggers a plethora of diagnostic modes.

chrome_switches.cc
--diagnostics-format

Sets the output format for diagnostic modes enabled by diagnostics flag.

chrome_switches.cc
--diagnostics-recovery

Tells the diagnostics mode to do the requested recovery step(s).

chrome_switches.cc
--disable
content_switches.cc
--disable-2d-canvas-clip-aa

Disable antialiasing on 2d canvas clips

content_switches.cc
--disable-2d-canvas-image-chromium

Disables Canvas2D rendering into a scanout buffer for overlay support.

content_switches.cc
--disable-3d-apis

Disables client-visible 3D APIs, in particular WebGL. This is controlled by policy and is kept separate from the other enable/disable switches to avoid accidentally regressing the policy support for controlling access to these APIs.

content_switches.cc
--disable-accelerated-2d-canvas

Disable gpu-accelerated 2d canvas.

content_switches.cc
--disable-angle-features

Disables specified comma separated ANGLE features if found.

gl_switches.cc
--disable-audio-input

Forces input and output stream creation to use fake audio streams.

media_switches.cc
--disable-audio-output
media_switches.cc
--disable-auto-maximize-for-tests

Disables the auto maximize feature on ChromeOS so that a browser window always starts in normal state. This is used by tests that do not want this auto maximizing behavior.

chrome_switches.cc
--disable-auto-reload

Disable auto-reload of pages on top-level error.

chrome_switches.cc
--disable-back-forward-cache

Disables the BackForwardCache feature.

content_switches.cc
--disable-background-networking

Disable several subsystems which run network requests in the background. This is for use when doing network performance testing to avoid noise in the measurements.

chrome_switches.cc
--disable-backing-store-limit

Disable limits on the number of backing stores. Can prevent blinking for users with many windows/tabs and lots of memory.

content_switches.cc
--disable-best-effort-tasks

Delays execution of TaskPriority::BEST_EFFORT tasks until shutdown.

base_switches.cc
--disable-blink-features

Disable one or more Blink runtime-enabled features. Use names from runtime_enabled_features.json5, separated by commas. Applied after kEnableBlinkFeatures, and after other flags that change these features.

content_switches.cc
--disable-breakpad

Disables the crash reporting.

base_switches.cc
--disable-cancel-all-touches

Disable CancelAllTouches() function for the implementation on cancel single touches.

event_switches.cc
--disable-canvas-aa

Disable antialiasing on 2d canvas.

content_switches.cc
--disable-checker-imaging

Disabled defering all image decodes to the image decode service, ignoring DecodingMode preferences specified on PaintImage.

switches.cc
--disable-component-update
chrome_switches.cc
--disable-crashpad-for-testing

Disables crashpad initialization for testing. The crashpad binary will not run, and thus will not detect and symbolize crashes.

chrome_switches.cc
--disable-d3d11-warp

Explicitly disable D3D11 WARP fallback. Some test suites prefer falling back to swiftshader.

gl_switches.cc
--disable-dawn-features

Set the Dawn features(toggles) disabled on the creation of Dawn devices.

gpu_switches.cc
--disable-default-apps

Disables installation of default apps on first run. This is used during automated testing.

chrome_switches.cc
--disable-default-browser-promo

Disable the default browser promo.

chrome_switches.cc
--disable-dev-shm-usage

The /dev/shm partition is too small in certain VM environments, causing Chrome to fail or crash (see http://crbug.com/715363). Use this flag to work-around this issue (a temporary directory will always be used to create anonymous shared memory files).

base_switches.cc
--disable-direct-composition

Disable DirectComposition.

gl_switches.cc
--disable-domain-reliability

Disables Domain Reliability Monitoring.

chrome_switches.cc
--disable-explicit-dma-fences

Disable explicit DMA-fences

ozone_switches.cc
--disable-features

Comma-separated list of feature names to disable. See also kEnableFeatures.

base_switches.cc
--disable-field-trial-config

Disable field trial tests configured in fieldtrial_testing_config.json.

variations_switches.cc
--disable-file-system

Disable FileSystem API.

content_switches.cc
--disable-gl-drawing-for-tests

Disables GL drawing operations which produce pixel output. With this the GL output will not be correct but tests will run faster.

gl_switches.cc
--disable-gl-error-limit

Disable the GL error log limit.

gpu_switches.cc
--disable-gl-extensions

Disables specified comma separated GL Extensions if found.

gl_switches.cc
--disable-glsl-translator

Disable the GLSL translator.

gpu_switches.cc
--disable-gpu

Disables GPU hardware acceleration. If software renderer is not in place, then the GPU process won't launch.

content_switches.cc
--disable-gpu-compositing

Prevent the compositor from using its GPU implementation.

content_switches.cc
--disable-gpu-early-init

Disable proactive early init of GPU process.

content_switches.cc
--disable-gpu-process-crash-limit

For tests, to disable the limit on the number of times the GPU process may be restarted.

content_switches.cc
--disable-gpu-program-cache

Turn off gpu program caching

gpu_switches.cc
--disable-gpu-rasterization

Disable GPU rasterization, i.e. rasterize on the CPU only. Overrides the kEnableGpuRasterization flag.

gpu_switches.cc
--disable-gpu-sandbox

Disables the GPU process sandbox.

switches.cc
--disable-gpu-shader-disk-cache

Disables the GPU shader on disk cache.

gpu_switches.cc
--disable-gpu-vsync

Stop the GPU from synchronizing presentation with vblank.

gl_switches.cc
--disable-gpu-watchdog

Disable the thread that crashes the GPU process if it stops responding to messages.

content_switches.cc
--disable-highres-timer

Disable high-resolution timer on Windows.

base_switches.cc
--disable-histogram-customizer

Disable the RenderThread's HistogramCustomizer.

content_switches.cc
--disable-http2-grease-settings
network_switches.cc
--disable-in-process-stack-traces

Disables the in-process stack traces.

content_switches.cc
--disable-ipc-flooding-protection

Disables the IPC flooding protection. It is activated by default. Some javascript functions can be used to flood the browser process with IPC. This protection limits the rate at which they can be used.

content_switches.cc
--disable-kill-after-bad-ipc

Don't kill a child process when it sends a bad IPC message. Apart from testing, it is a bad idea from a security perspective to enable this switch.

content_switches.cc
--disable-landlock-sandbox

Disables the Landlock sandbox (Android only).

switches.cc
--disable-lazy-loading

Disables lazy loading of images and frames.

chrome_switches.cc
--disable-lcd-text

Disables LCD text.

content_switches.cc
--disable-legacy-window

Disable the Legacy Window which corresponds to the size of the WebContents.

content_switches.cc
--disable-local-storage

Disable LocalStorage.

content_switches.cc
--disable-logging

Force logging to be disabled. Logging is enabled by default in debug builds.

content_switches.cc
--disable-logging-redirect

Disables logging redirect for testing.

chrome_switches.cc
--disable-login-screen-apps

Disables apps on the login screen. By default, they are allowed and can be installed through policy.

chrome_switches.cc
--disable-low-end-device-mode

Force disabling of low-end device mode when set.

base_switches.cc
--disable-low-latency-dxva

Disables using CODECAPI_AVLowLatencyMode when creating DXVA decoders.

content_switches.cc
--disable-media-session-api

Disable Media Session API

content_switches.cc
--disable-metal-shader-cache

Disables Metal's shader cache, using the GPU sandbox to prevent access to it.

switches.cc
--disable-mipmap-generation

Disables mipmap generation in Skia. Used a workaround for select low memory devices, see https://crbug.com/1138979 for details.

gpu_switches.cc
--disable-mojo-broker

Disables Mojo broker capabilities in the browser during Mojo initialization.

content_switches.cc
--disable-namespace-sandbox

Disables usage of the namespace sandbox.

switches.cc
--disable-notifications

Disables the Web Notification and the Push APIs.

content_switches.cc
--disable-nv12-dxgi-video

Disables the video decoder from drawing to an NV12 textures instead of ARGB.

content_switches.cc
--disable-oopr-debug-crash-dump

Disables debug crash dumps for OOPR.

content_switches.cc
--disable-policy-key-verification

Disables the verification of policy signing keys. It just works on Chrome OS test images and crashes otherwise. better solution to enable policy tast test for Family Link account.

policy_switches.cc
--disable-presentation-api

Disables the Presentation API.

content_switches.cc
--disable-print-preview

Disables print preview (For testing, and for users who don't like us. :[ )

chrome_switches.cc
--disable-prompt-on-repost

Normally when the user attempts to navigate to a page that was the result of a post we prompt to make sure they want to. This switch may be used to disable that check. This switch is used during automated testing.

chrome_switches.cc
--disable-pushstate-throttle

Disables throttling of history.pushState/replaceState calls.

content_switches.cc
--disable-reading-from-canvas

Taints all <canvas> elements, regardless of origin.

content_switches.cc
--disable-remote-fonts

Disables remote web font support. SVG font should always work whether this option is specified or not.

content_switches.cc
--disable-remote-playback-api

Disables the RemotePlayback API.

content_switches.cc
--disable-renderer-backgrounding

Prevent renderer process backgrounding when set.

content_switches.cc
--disable-resource-scheduler

Whether the ResourceScheduler is disabled. Note this is only useful for C++ Headless embedders who need to implement their own resource scheduling.

content_switches.cc
--disable-screen-orientation-lock

Disable the locking feature of the screen orientation API.

content_switches.cc
--disable-scroll-to-text-fragment

This switch disables the ScrollToTextFragment feature.

content_switches.cc
--disable-seccomp-filter-sandbox

Disable the seccomp filter sandbox (seccomp-bpf) (Linux only).

switches.cc
--disable-setuid-sandbox

Disable the setuid sandbox (Linux only).

switches.cc
--disable-shader-name-hashing

Turn off user-defined name hashing in shaders.

gpu_switches.cc
--disable-shared-workers

Disable shared workers.

content_switches.cc
--disable-site-isolation-trials

Disables site isolation. Note that the opt-in (to site-per-process, isolate-origins, etc.) via enterprise policy and/or cmdline takes precedence over the kDisableSiteIsolation switch (i.e. the opt-in takes effect despite potential presence of kDisableSiteIsolation switch). Note that for historic reasons the name of the switch misleadingly mentions "trials", but the switch also disables the default site isolation that ships on desktop since M67. The name of the switch is preserved for backcompatibility of chrome://flags.

content_switches.cc
--disable-skia-graphite

Force disabling/enabling Skia Graphite. Disabling will take precedence over enabling if both are specified.

gpu_switches.cc
--disable-skia-runtime-opts

Do not use runtime-detected high-end CPU optimizations in Skia. This is useful for forcing a baseline code path for e.g. web tests.

content_switches.cc
--disable-smooth-scrolling

Disable smooth scrolling for testing.

content_switches.cc
--disable-software-rasterizer

Disables the use of a 3D software rasterizer.

content_switches.cc
--disable-speech-api

Disables the Web Speech API (both speech recognition and synthesis).

content_switches.cc
--disable-speech-synthesis-api

Disables the speech synthesis part of Web Speech API.

content_switches.cc
--disable-stack-profiler

Disable stack profiling. Stack profiling may change performance. Disabling stack profiling is beneficial when comparing performance metrics with a build that has it disabled by default.

chrome_switches.cc
--disable-threaded-animation
switches.cc
--disable-threaded-compositing

Disable multithreaded GPU compositing of web content.

content_switches.cc
--disable-timeouts-for-profiling

Disable timeouts that may cause the browser to die when running slowly. This is useful if running with profiling (such as debug malloc).

content_switches.cc
--disable-usb-keyboard-detect

Disables the USB keyboard detection for blocking the OSK on Windows.

base_switches.cc
--disable-v8-idle-tasks

Disable V8 idle tasks.

content_switches.cc
--disable-variations-safe-mode

Disable variations safe mode.

variations_switches.cc
--disable-variations-seed-fetch

Disable fetching of variations seed from the server for testing.

variations_switches.cc
--disable-vsync-for-tests
compositor_switches.cc
--disable-vulkan-surface

Disables VK_KHR_surface extension. Instead of using swapchain, bitblt will be used for present render result on screen.

gpu_switches.cc
--disable-wayland-ime

Disable wayland input method editor.

ozone_switches.cc
--disable-web-security

Don't enforce the same-origin policy; meant for website testing only. This switch has no effect unless --user-data-dir (as defined by the content embedder) is also present.

content_switches.cc
--disable-webgl

Disable all versions of WebGL.

content_switches.cc
--disable-webgl-image-chromium

Disables WebGL rendering into a scanout buffer for overlay support.

content_switches.cc
--disable-webgl2

Disable WebGL2.

content_switches.cc
--disable-webrtc-encryption

Disables encryption of RTP Media for WebRTC. When Chrome embeds Content, it ignores this switch on its stable and beta channels.

content_switches.cc
--disable-yuv-image-decoding

Disable YUV image decoding for those formats and cases where it's supported. Has no effect unless GPU rasterization is enabled.

content_switches.cc
--disable-zero-copy-dxgi-video

Disable the video decoder from drawing directly to a texture.

content_switches.cc
--disabled

disabled: touch events are disabled.

content_switches.cc
--discoverability
dom_distiller_switches.cc
--disk-cache-dir

Use a specific disk cache location, rather than one derived from the UserDatadir.

chrome_switches.cc
--disk-cache-size

Forces the maximum disk space to be used by the disk cache, in bytes.

chrome_switches.cc
--display

Which X11 display to connect to. Emulates the GTK+ "--display=" command line argument. In use only with Ozone/X11.

switches.cc
--display-properties

Additional display properties are provided through this switch that are beyond what is available via EDID encoded as JSON. Please see `https://chromium.googlesource.com/chromiumos/platform2/+/dd10a5ae3618bb9dc5fb47ac415ebef6e9a3827d/chromeos-config/README.md#displays` for the data format.

display_switches.cc
--dmg-device

When switches::kProcessType is switches::kRelauncherProcess, if this switch is also present, the relauncher process will unmount and eject a mounted disk image and move its disk image file to the trash. The argument's value must be a BSD device name of the form "diskN" or "diskNsM".

chrome_switches.cc
--do-not-create-nsapp-for-tests

Skips initializing the shares NSApplication instance in ChromeTestSuite.

chrome_switches.cc
--do-not-de-elevate

Do not de-elevate the browser on launch. Used after de-elevating to prevent infinite loops.

chrome_switches.cc
--dom-automation

Specifies if the |DOMAutomationController| needs to be bound in the renderer. This binding happens on per-frame basis and hence can potentially be a performance bottleneck. One should only enable it when automating dom based tests.

content_switches.cc
--dump-browser-histograms

Requests that a running browser process dump its collected histograms to a given file. The file is overwritten if it exists.

chrome_switches.cc
--dump-compositor-frame

Save CompositorFrame data in both renderer and gpu process for TreesInViz and TreeAnimationsInViz. This doesn't work without --no-sandbox. If no parameters are specified, by default, it records frame 1 - 10. If --dump-compositor-frame=begin,end is specified, it records frame [begin, end] inclusive.

switches.cc
--edge-touch-filtering

Tells Chrome to do edge touch filtering. Useful for convertible tablet.

event_switches.cc
--egl
gl_switches.cc
--enable
content_switches.cc
--enable-angle-features

ANGLE features are defined per-backend in third_party/angle/include/platform Enables specified comma separated ANGLE features if found.

gl_switches.cc
--enable-auto-reload

Enable auto-reload of pages on top-level error.

chrome_switches.cc
--enable-automation

Enable indication that browser is controlled by automation.

content_switches.cc
--enable-benchmarking

See flag_descriptions.cc for more details.

variations_switches.cc
--enable-benchmarking-api

Enables the benchmarking JavaScript API.

variations_switches.cc
--enable-blink-features

Enable one or more Blink runtime-enabled features. Use names from runtime_enabled_features.json5, separated by commas. Applied before kDisableBlinkFeatures, and after other flags that change these features.

content_switches.cc
--enable-blink-test-features

Enables blink runtime enabled features with status:"test" or status:"experimental", which are enabled when running web tests.

content_switches.cc
--enable-bookmark-undo

Enables the multi-level undo system for bookmarks.

chrome_switches.cc
--enable-caret-browsing

Enable native caret browsing, in which a moveable cursor is placed on a web page, allowing a user to select and navigate through non-editable text using just a keyboard. See https://crbug.com/977390 for links to i2i.

content_switches.cc
--enable-cloud-print-proxy

This applies only when the process type is "service". Enables the Cloud Print Proxy component within the service process.

chrome_switches.cc
--enable-crash-reporter

Indicates that crash reporting should be enabled. On platforms where helper processes cannot access to files needed to make this decision, this flag is generated internally.

base_switches.cc
--enable-dawn-backend-validation

Enable validation layers in Dawn backends.

gpu_switches.cc
--enable-dawn-features

Set the Dawn features(toggles) enabled on the creation of Dawn devices.

gpu_switches.cc
--enable-devtools-pwa-handler

If enabled, DevTools will allow creating pwa_handler, to enable executing CDP methods (i.e. PWA.install) on browsers connected remotely

chrome_switches.cc
--enable-distillability-service
dom_distiller_switches.cc
--enable-dom-distiller
dom_distiller_switches.cc
--enable-domain-reliability

Enables Domain Reliability Monitoring.

chrome_switches.cc
--enable-exclusive-audio

Use exclusive mode audio streaming for Windows Vista and higher. Leads to lower latencies for audio streams which uses the AudioParameters::AUDIO_PCM_LOW_LATENCY audio path. See http://msdn.microsoft.com/en-us/library/windows/desktop/dd370844.aspx for details.

media_switches.cc
--enable-extension-actor-api

Name of the command line flag to allow the experimental actor API.

chrome_switches.cc
--enable-extension-ai-data-collection

Name of the command line flag to allow the ai data collection extension API.

chrome_switches.cc
--enable-features

Comma-separated list of feature names to enable. See also kDisableFeatures.

base_switches.cc
--enable-field-trial-config

Enable field trial tests configured in fieldtrial_testing_config.json. If the "disable_fieldtrial_testing_config" GN flag is set to true, then this switch is a no-op. Otherwise, for non-Chrome branded builds, the testing config is already applied by default, unless the "--disable-field-trial-config", "--force-fieldtrials", and/or "--variations-server-url" switches are passed. It is however possible to apply the testing config as well as specify additional field trials (using "--force-fieldtrials") by using this switch. For Chrome-branded builds, the testing config is not enabled by default, so this switch is required to enable it.

variations_switches.cc
--enable-gpu-benchmarking

Enables the GPU benchmarking extension

switches.cc
--enable-gpu-blocked-time

Enables measures of how long GPU Main Thread was blocked between SwapBuffers

gpu_switches.cc
--enable-gpu-command-logging

Turn on Logging GPU commands.

gpu_switches.cc
--enable-gpu-debugging

Turn on Calling GL Error after every command.

gpu_switches.cc
--enable-gpu-driver-debug-logging

Enable logging of GPU driver debug messages.

gpu_switches.cc
--enable-gpu-rasterization

Allow heuristics to determine when a layer tile should be drawn with the Skia GPU backend. Only valid with GPU accelerated compositing.

gpu_switches.cc
--enable-gpu-service-logging

Enable GPU service logging. Note: This is the same switch as the one in gl_switches.cc. It's defined here again to avoid dependencies between dlls.

gpu_switches.cc
--enable-gpu-service-tracing

Turns on calling TRACE for every GL call.

gl_switches.cc
--enable-idle-tracing

Adds additional thread idle time information into the trace event output.

base_switches.cc
--enable-lcd-text

Enables LCD text.

content_switches.cc
--enable-logging

Force logging to be enabled. Logging is disabled by default in release builds.

content_switches.cc
--enable-longpress-drag-selection

Enable drag manipulation of longpress-triggered text selections.

content_switches.cc
--enable-low-end-device-mode

Force low-end device mode when set.

base_switches.cc
--enable-native-gpu-memory-buffers

Enable native CPU-mappable GPU memory buffer support on Linux.

switches.cc
--enable-net-benchmarking

Enables the network-related benchmarking extensions.

chrome_switches.cc
--enable-new-app-menu-icon
chrome_switches.cc
--enable-pixel-output-in-tests

Forces tests to produce pixel output when they normally wouldn't.

compositor_switches.cc
--enable-precise-memory-info

Make the values returned to window.performance.memory more granular and more up to date in shared worker. Without this flag, the memory information is still available, but it is bucketized and updated less frequently. This flag also applys to workers.

content_switches.cc
--enable-privacy-sandbox-ads-apis

Enables Privacy Sandbox APIs: Attribution Reporting, Fledge, Topics, Fenced Frames, Shared Storage, Private Aggregation, and their associated features.

content_switches.cc
--enable-profile-shortcut-manager

Force-enables the profile shortcut manager. This is needed for tests since they use a custom-user-data-dir which disables this.

chrome_switches.cc
--enable-protected-video-buffers

Enables protected buffers for encrypted video streams.

media_switches.cc
--enable-sandbox-logging

Cause the OS X sandbox write to syslog every time an access to a resource is denied by the sandbox.

switches.cc
--enable-scaling-clipped-images

Allows scaling clipped images in GpuImageDecodeCache. Note that this may cause color-bleeding. cache problems are solved.

switches.cc
--enable-service-binary-launcher

If true the ServiceProcessLauncher is used to launch services. This allows for service binaries to be loaded rather than using the utility process. This is only useful for tests.

content_switches.cc
--enable-sgi-video-sync

Enable use of the SGI_video_sync extension, which can have driver/sandbox/window manager compatibility issues.

gl_switches.cc
--enable-skia-benchmarking

Enables the Skia benchmarking extension.

content_switches.cc
--enable-skia-graphite
gpu_switches.cc
--enable-smooth-scrolling

On platforms that support it, enables smooth scroll animation.

content_switches.cc
--enable-spatial-navigation

Enable spatial navigation

content_switches.cc
--enable-speech-dispatcher

Allows sending text-to-speech requests to speech-dispatcher, a common Linux speech service. Because it's buggy, the user must explicitly enable it so that visiting a random webpage can't cause instability.

content_switches.cc
--enable-swap-buffers-with-bounds

Enables SwapBuffersWithBounds if it is supported.

gl_switches.cc
--enable-tracing-fraction

When specified along with a value in the range (0,1] will --enable-tracing for (roughly) that percentage of tests being run. This is done in a stable manner such that the same tests are chosen each run, and under the assumption that tests hash equally across the range of possible values. The flag will enable all tracing categories for those tests, and none for the rest. This flag could be used with other tracing switches like --enable-tracing-format, but any other switches that will enable tracing will turn tracing on for all tests.

content_switches.cc
--enable-unsafe-swiftshader

Allow usage of SwiftShader for WebGL

gl_switches.cc
--enable-unsafe-webgpu
gpu_switches.cc
--enable-user-metrics

Enable user metrics from within the installer.

chrome_switches.cc
--enable-viewport

Enables the use of the @viewport CSS rule, which allows pages to control aspects of their own layout. This also turns on touch-screen pinch gestures.

content_switches.cc
--enable-vtune-support

Enable the Vtune profiler support.

content_switches.cc
--enable-vulkan-protected-memory

Enables using protected memory for vulkan resources.

gpu_switches.cc
--enable-wayland-ime

Try to enable wayland input method editor.

ozone_switches.cc
--enable-webgl-draft-extensions

Enables WebGL extensions not yet approved by the community.

content_switches.cc
--enable-webgl-image-chromium

Enables WebGL rendering into a scanout buffer for overlay support.

content_switches.cc
--enabled

enabled: touch events always enabled.

content_switches.cc
--encrypted-reporting-url

Specifies the URL at which to upload encrypted reports.

policy_switches.cc
--enforce
chrome_switches.cc
--enforce-gl-minimums

Enforce GL minimums.

gpu_switches.cc
--ensure-forced-color-profile

Crash the browser at startup if the display's color profile does not match the forced color profile. This is necessary on Mac because Chrome's pixel output is always subject to the color conversion performed by the operating system. On all other platforms, this is a no-op.

display_switches.cc
--experimental-ai-stable-channel

Allows experimental ai extension APIs to be used in stable channel. This disables chrome sign-in if set, regardless of channel.

chrome_switches.cc
--explicitly-allowed-ports

Allows overriding the list of restricted ports by passing a comma-separated list of port numbers.

chrome_switches.cc
--extension-content-verification

Name of the command line flag to force content verification to be on in one of various modes.

chrome_switches.cc
--fail-audio-stream-creation

Causes the AudioManager to fail creating audio streams. Used when testing various failure cases.

media_switches.cc
--fake-variations-channel

Fakes the channel of the browser for purposes of Variations filtering. This is to be used for testing only. Possible values are "stable", "beta", "dev" and "canary". This works for official builds as well.

variations_switches.cc
--field-trial-handle

Handle to the shared memory segment containing field trial state that is to be shared between processes. The argument to this switch is made of segments separated by commas: - The platform-specific handle id for the shared memory as a string. - (Windows only) i=inherited by duplication or p=child must open parent. - The high 64 bits of the shared memory block GUID. - The low 64 bits of the shared memory block GUID. - The size of the shared memory segment as a string.

base_switches.cc
--file-storage-server-upload-url

Specifies the URL at which to communicate with File Storage Server (go/crosman-file-storage-server) to upload log and support packet files.

policy_switches.cc
--file-url-path-alias

Define an alias root directory which is replaced with the replacement string in file URLs. The format is "/alias=/replacement", which would turn file:///alias/some/path.html into file:///replacement/some/path.html.

content_switches.cc
--focus

Activates an existing tab or app window by URL or app id before creating anything new. Syntax: comma-ordered selectors. Bare URLs are exact. Add a trailing * for prefix. app:<app-id> targets PWAs. Example: --focus=https://meet.google.com/*,app:abc123

chrome_switches.cc
--focus-result-file

Specifies a file path to write JSON focus result information.

chrome_switches.cc
--font-cache-shared-handle

DirectWrite FontCache is shared by browser to renderers using shared memory. This switch allows us to pass the shared memory handle to the renderer.

content_switches.cc
--force-app-mode

Forces application mode. This hides certain system UI elements and forces the app to be installed if it hasn't been already.

chrome_switches.cc
--force-browser-crash-on-gpu-crash

Crash Chrome if GPU process crashes. This is to force a test to fail when GPU process crashes unexpectedly.

gpu_switches.cc
--force-color-profile

Force all monitors to be treated as though they have the specified color profile. Accepted values are "srgb" and "generic-rgb" (currently used by Mac layout tests) and "color-spin-gamma24" (used by layout tests).

display_switches.cc
--force-desktop-android

Forces the DeviceInfo.isDesktop() check to return true. Can be used to enable desktop-only features on other form factors.

base_switches.cc
--force-device-ownership

Forces the device to report being owned by an enterprise. This mimics the presence of an app signaling device ownership.

chrome_switches.cc
--force-device-scale-factor

Overrides the device scale factor for the browser UI and the contents.

display_switches.cc
--force-devtools-available

Forces developer tools availability, no matter what values the enterprise policies DeveloperToolsDisabled and DeveloperToolsAvailability are set to.

chrome_switches.cc
--force-disable-variation-ids

Forces to remove Chrome Variation Ids from being sent in X-Client-Data header, specified as a 64-bit encoded list of numeric experiment ids. Ids prefixed with the character "t" will be treated as Trigger Variation Ids.

variations_switches.cc
--force-effective-connection-type

Forces Network Quality Estimator (NQE) to return a specific effective connection type.

network_switches.cc
--force-enable-night-mode

Forces the night mode to be enabled.

chrome_switches.cc
--force-fieldtrial-params

This option can be used to force parameters of field trials when testing changes locally. The argument is a param list of (key, value) pairs prefixed by an associated (trial, group) pair. You specify the param list for multiple (trial, group) pairs with a comma separator. Example: "Trial1.Group1:k1/v1/k2/v2,Trial2.Group2:k3/v3/k4/v4" Trial names, groups names, parameter names, and value should all be URL escaped for all non-alphanumeric characters.

variations_switches.cc
--force-fieldtrials

This option can be used to force field trials when testing changes locally. The argument is a list of name and value pairs, separated by slashes. If a trial name is prefixed with an asterisk, that trial will start activated. For example, the following argument defines two trials, with the second one activated: "GoogleNow/Enable/*MaterialDesignNTP/Default/" This option can also be used by the browser process to send the list of trials to a non-browser process, using the same format. See FieldTrialList::CreateTrialsFromString() in field_trial.h for details.

base_switches.cc
--force-first-run

Displays the First Run experience when the browser is started, regardless of whether or not it's actually the First Run (this overrides kNoFirstRun).

chrome_switches.cc
--force-fre-default-browser-step

Force enable the default browser step in the first run experience on Desktop.

signin_switches.cc
--force-high-performance-gpu
gpu_switches.cc
--force-high-res-timeticks

Forces the use of QPC for TimeTicks even if cpuid doesn't report the presence of an invariant TSC.

base_switches.cc
--force-max-texture-size

Sets the maximum texture size in pixels.

gpu_switches.cc
--force-prefers-no-reduced-motion

Forces whether the user desires no reduced motion, regardless of system settings.

switches.cc
--force-prefers-reduced-motion

Forces whether the user desires reduced motion, regardless of system settings.

switches.cc
--force-raster-color-profile

Force rastering to take place in the specified color profile. Accepted values are the same as for the kForceDisplayColorProfile case above.

display_switches.cc
--force-show-update-menu-badge

Forces the update menu badge to show.

chrome_switches.cc
--force-update-menu-type

Forces the update menu type to a specific type.

chrome_switches.cc
--force-variation-ids

Forces additional Chrome Variation Ids that will be sent in X-Client-Data header, specified as a 64-bit encoded list of numeric experiment ids. Ids prefixed with the character "t" will be treated as Trigger Variation Ids. IMPORTANT: You can use this switch for test purposes (e.g. a manual command line run or from a unit test), but NOT for production code in the browser, as the latter is not allowed for privacy reasons (except for the current use by about:flags code).

variations_switches.cc
--force-video-overlays

Force media player using SurfaceView instead of SurfaceTexture on Android. Note: This is used by the Cast playback pipeline and must be kept.

media_switches.cc
--force-wave-audio

Use Windows WaveOut/In audio API even if Core Audio is supported.

media_switches.cc
--force-webgpu-compat

Force all WebGPU content to run in WebGPU Compatibility mode.

gpu_switches.cc
--force-webrtc-ip-handling-policy

Override WebRTC IP handling policy to mimic the behavior when WebRTC IP handling policy is specified in Preferences.

content_switches.cc
--force-webxr-runtime

Forcibly enable and select the specified runtime for webxr. Note that this provides an alternative means of enabling a runtime, and will also functionally disable all other runtimes.

content_switches.cc
--force-whats-new

Displays the What's New experience when the browser is started if it has not yet been shown for the current milestone (this overrides kNoFirstRun, without showing the First Run experience).

chrome_switches.cc
--from-browser-switcher

Indicates that this launch of the browser originated from the Legacy Browser Support for Edge extension's native host. This is recorded in UMA.

chrome_switches.cc
--from-installer

Indicates that this launch of the browser originated from the installer (i.e., following a successful new install or over-install). This triggers browser behaviors for this specific launch, such as a welcome announcement for accessibility software (see https://crbug.com/1072735).

chrome_switches.cc
--full-memory-crash-report

Generates full memory crash dump.

base_switches.cc
--gl-egl
gl_switches.cc
--gl-null
gl_switches.cc
--gl-shader-interm-output

Include ANGLE's intermediate representation (AST) output in shader compilation info logs.

gpu_switches.cc
--gles
gl_switches.cc
--gles-egl
gl_switches.cc
--gles-null
gl_switches.cc
--glic-admin-redirect-patterns

List of URL patterns in the glic webview to redirect to an admin blocked panel, as a space-separated list.

chrome_switches.cc
--glic-always-open-fre
chrome_switches.cc
--glic-automation

Automation is intended to be passed in addition to glic-dev. It further disables functionality to make basic testing easier.

chrome_switches.cc
--glic-dev

Dev mode for glic only exposed via command line flag.

chrome_switches.cc
--glic-force-g1-for-mi

Override actual AI subscription tier by forcing G1 status, specifically for multi-instance enablement. Intended for manual testing only.

chrome_switches.cc
--glic-fre-url
chrome_switches.cc
--glic-guest-url

Overrides the glic guest URL.

chrome_switches.cc
--glic-guest-url-preset-autopush

Configure preset guest URLs for manual testing. These are saved to profile prefs and can be selected to override the default glic guest URL through corresponding entries in chrome://flags.

chrome_switches.cc
--glic-guest-url-preset-preprod
chrome_switches.cc
--glic-guest-url-preset-prod
chrome_switches.cc
--glic-host-logging

Whether additional logging is enabled in the glic api host.

chrome_switches.cc
--glic-open-on-startup

Use --glic-open-on-startup=attached or --glic-open-on-startup=detached.

chrome_switches.cc
--glic-shortcuts-learn-more-url
chrome_switches.cc
--glic-webui-allowed-origins

List of allowed origins in the glic webview, as a space-separated list.

chrome_switches.cc
--gpu-blocklist-test-group

Select a different set of GPU blocklist entries with the specified test_group ID.

gpu_switches.cc
--gpu-device-id

Passes the active graphics device id from browser process to info collection GPU process.

gpu_switches.cc
--gpu-disk-cache-size-kb

Allows explicitly specifying the shader disk cache size for embedded devices. Default value is 6MB. On Android, 2MB is default and 128KB for low-end devices.

gpu_switches.cc
--gpu-driver-bug-list-test-group

Enable an extra set of GPU driver bug list entries with the specified test_group ID. Note the default test group (group 0) is still active.

gpu_switches.cc
--gpu-driver-version

Passes the active graphics driver version from browser process to info collection GPU process.

gpu_switches.cc
--gpu-launcher

Extra command line options for launching the GPU process (normally used for debugging). Use like renderer-cmd-prefix.

content_switches.cc
--gpu-no-context-lost

Inform Chrome that a GPU context will not be lost in power saving mode, screen saving mode, etc. Note that this flag does not ensure that a GPU context will never be lost in any situations, say, a GPU reset.

gl_switches.cc
--gpu-preferences

Passes encoded GpuPreferences to GPU process.

gpu_switches.cc
--gpu-process

Makes this process a GPU sub-process.

content_switches.cc
--gpu-program-cache-size-kb

Sets the maximum size of the in-memory gpu program cache, in kb

gpu_switches.cc
--gpu-revision

Passes the active graphics revision info from browser process to info collection GPU process.

gpu_switches.cc
--gpu-sandbox-allow-sysv-shm

Allows shmat() system call in the GPU sandbox.

switches.cc
--gpu-sandbox-failures-fatal

Makes GPU sandbox failures fatal.

switches.cc
--gpu-sandbox-start-early

Starts the GPU sandbox before creating a GL context.

content_switches.cc
--gpu-startup-dialog

Causes the GPU process to display a dialog on launch.

content_switches.cc
--gpu-sub-system-id

Passes the active graphics sub system id from browser process to info collection GPU process.

gpu_switches.cc
--gpu-vendor-id

Passes the active graphics vendor id from browser process to info collection GPU process.

gpu_switches.cc
--gpu-watchdog-timeout-seconds

Override value for the GPU watchdog timeout in seconds.

gpu_switches.cc
--gpu2-startup-dialog

Causes the second GPU process used for gpu info collection to display a dialog on launch.

content_switches.cc
--guest

Causes the browser to launch directly in guest mode.

chrome_switches.cc
--hardware-video-decode-framerate

Some (Qualcomm only at the moment) V4L2 video decoders require setting the framerate so that the hardware decoder can scale the clocks efficiently. This provides a mechanism during testing to lock the decoder framerate to a specific value.

media_switches.cc
--headless

Run in headless mode, i.e., without a UI or display server dependencies.

switches.cc
--help

These flags show the man page on Linux. They are equivalent to each other.

chrome_switches.cc
--hide-crash-restore-bubble

Does not show the crash restore bubble when the browser is started during the system startup phase in ChromeOS, if the ChromeOS full restore feature is enabled, because the ChromeOS full restore notification is shown for the user to select restore or not.

chrome_switches.cc
--hide-icons

Makes Windows happy by allowing it to show "Enable access to this program" checkbox in Add/Remove Programs->Set Program Access and Defaults. This only shows an error box because the only way to hide Chrome is by uninstalling it.

chrome_switches.cc
--hide-scrollbars

Prevents creating scrollbars for web content. Useful for taking consistent screenshots.

content_switches.cc
--homepage

Specifies which page will be displayed in newly-opened tabs. We need this for testing purposes so that the UI tests don't depend on what comes up for http://google.com.

chrome_switches.cc
--host-package-label
base_switches.cc
--host-package-name

When we retrieve the package name within the SDK Runtime, we need to use a bit of a hack to do this by taking advantage of the fact that the pid is the same pid as the application's pid + 10000. see: https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/core/java/android/os/Process.java;l=292;drc=47fffdd53115a9af1820e3f89d8108745be4b55d When the render process is created however, it is just a regular isolated process with no particular association so we can't perform the same hack. When creating minidumps, the package name is retrieved from the process meaning the render process minidumps would end up reporting a generic process name not associated with the app. We work around this by feeding through the host package information to the render process when launching it.

base_switches.cc
--host-resolver-rules

These mappings only apply to the host resolver.

network_switches.cc
--host-rules

Deprecated alias for backwards compatibility, now does the same thing as --host-resolver-rules which should be used instead.

network_switches.cc
--host-version-code
base_switches.cc
--ignore-bad-message-for-testing

The switch to ignore bad mojo message reports. Only for testing.

network_switches.cc
--ignore-gpu-blocklist

Ignores GPU blocklist.

gpu_switches.cc
--import-passwords

Triggers the import of passwords on startup.

chrome_switches.cc
--in-process-gpu

Run the GPU process as a thread in the browser process.

content_switches.cc
--incognito

Causes the initial browser opened to be in incognito mode. Further browsers may or may not be in incognito mode; see `IncognitoModePrefs`.

chrome_switches.cc
--init-isolate-as-foreground

Specifies that the main-thread Isolate should initialize in foreground mode. If not specified, the the Isolate will start in background mode for extension processes and foreground mode otherwise.

chrome_switches.cc
--install-autogenerated-theme

Installs an autogenerated theme based on the given RGB value. The format is "r,g,b", where r, g, b are a numeric values from 0 to 255.

chrome_switches.cc
--install-chrome-app

Causes Chrome to initiate an installation flow for the given app.

chrome_switches.cc
--instant-process

Marks a renderer as an Instant process.

chrome_switches.cc
--ip-address-space-overrides

Specifies manual overrides to the IP endpoint -> IP address space mapping. This allows running local tests against "public" and "local" IP addresses. This switch is specified as a comma-separated list of overrides. Each override is an equals-separated "<endpoint|ip-range>=<address space>" pair. Grammar, in pseudo-BNF format: switch := override-list override-list := override “,” override-list | <nil> override := (ip-endpoint | ip_range) “=” address-space address-space := “public” | “private” | “local” | "loopback" ip-endpoint := ip-address ":" port ip-address := see `net::ParseURLHostnameToAddress()` for details port := integer in the [0-65535] range ip-range := ip-address "/" bitmask bitmask := integer in the [0-128] range Any invalid entries in the comma-separated list are ignored. If the port specified is 0, all ports for the given ip-address will be overridden. See also the design doc: https://docs.google.com/document/d/1-umCGylIOuSG02k9KGDwKayt3bzBXtGwVlCQHHkIcnQ/edit# And the Web Platform Test RFC #72 behind it: https://github.com/web-platform-tests/rfcs/blob/master/rfcs/address_space_overrides.md Note that since the doc and the RFC were written, the address space names have changed slightly due to Local Network Access (LNA) replacing Private Network Access (PNA).

network_switches.cc
--ipc-connection-timeout

Overrides the timeout, in seconds, that a child process waits for a connection from the browser before killing itself.

content_switches.cc
--ipc-dump-directory

Dumps IPC messages sent from renderer processes to the browser process to the given directory. Used primarily to gather samples for IPC fuzzing.

content_switches.cc
--ipc-fuzzer-testcase

Specifies the testcase used by the IPC fuzzer.

content_switches.cc
--isolate-origins

Require dedicated processes for a set of origins, specified as a comma-separated list. For example: --isolate-origins=https://www.foo.com,https://www.bar.com

content_switches.cc
--javascript-harmony

Enables experimental Harmony (ECMAScript 6) features.

content_switches.cc
--keep-alive-for-test

Used for testing - keeps browser alive after last browser window closes.

chrome_switches.cc
--kiosk

Enable kiosk mode. Please note this is not Chrome OS kiosk mode.

chrome_switches.cc
--kiosk-printing

Enable automatically pressing the print button in print preview.

chrome_switches.cc
--launch-time-ticks

Time the browser launched the renderer process (in TimeTicks).

content_switches.cc
--layer
switches.cc
--list-apps

Writes open and installed web apps for each profile to the specified file without launching a new browser window or tab. Pass a absolute file path to specify where to output the information. Can be used together with optional --profile-base-name switch to only write information for a given profile.

chrome_switches.cc
--load-webui-from-disk

Flag used to load WebUI files directly from disk instead of pak files. Meant to be used during local development only (requires a local checkout and build), and only works if used along with the GN load_webui_from_disk=true GN flag.

content_switches.cc
--log-best-effort-tasks

Logs information about all tasks posted with TaskPriority::BEST_EFFORT. Use this to diagnose issues that are thought to be caused by TaskPriority::BEST_EFFORT execution fences. Note: Tasks posted to a non-BEST_EFFORT UpdateableSequencedTaskRunner whose priority is later lowered to BEST_EFFORT are not logged.

base_switches.cc
--log-file

Overrides the default file name to use for general-purpose logging (does not affect which events are logged).

content_switches.cc
--log-gpu-control-list-decisions

Logs GPU control list decisions when enforcing blocklist rules.

content_switches.cc
--log-level

Sets the minimum log level. Valid values are from 0 to 3: INFO = 0, WARNING = 1, LOG_ERROR = 2, LOG_FATAL = 3.

content_switches.cc
--log-missing-unload-ack

Log an error whenever the unload timeout for a render frame is exceeded.

content_switches.cc
--log-net-log

Enables saving net log events to a file. If a value is given, it used as the path the the file, otherwise the file is named netlog.json and placed in the user data directory.

network_switches.cc
--log-on-ui-double-background-blur

Checks and logs double background blur as an error if any.

switches.cc
--make-chrome-default

Indicates whether Chrome should be set as the default browser during installation.

chrome_switches.cc
--make-default-browser

Makes Chrome default browser

chrome_switches.cc
--market-url-for-testing

Sets the market URL for Chrome for use in testing.

chrome_switches.cc
--max-active-webgl-contexts

Allows user to override maximum number of active WebGL contexts per renderer process.

content_switches.cc
--max-decoded-image-size-mb

Sets the maximium decoded image size limitation.

content_switches.cc
--max-gum-fps

Override the maximum framerate as can be specified in calls to getUserMedia. This flag expects a value. Example: --max-gum-fps=17.5

content_switches.cc
--max-web-media-player-count

Sets the maximum number of WebMediaPlayers allowed per frame.

content_switches.cc
--message-loop-type-ui

Indicates the utility process should run with a message loop type of UI.

content_switches.cc
--metal
gpu_switches.cc
--metal-null
gl_switches.cc
--metrics-client-id

This is how the metrics client ID is passed from the browser process to its children. With Crashpad, the metrics client ID is distinct from the crash client ID.

chrome_switches.cc
--metrics-shmem-handle

Handle to the shared memory segment a child process should use to transmit histograms back to the browser process.

base_switches.cc
--mock
gl_switches.cc
--mojo-local-storage

Use a Mojo-based LocalStorage implementation.

content_switches.cc
--monitoring-destination-id

Allows setting a different destination ID for connection-monitoring GCM messages. Useful when running against a non-prod management server.

chrome_switches.cc
--mse-audio-buffer-size-limit-mb

Allows explicitly specifying MSE audio/video buffer sizes as megabytes. Default values are 150M for video and 12M for audio.

media_switches.cc
--mse-video-buffer-size-limit-mb
media_switches.cc
--mute-audio

Mutes audio sent to the audio device so it is not audible during automated testing.

media_switches.cc
--native
gpu_switches.cc
--native-messaging-connect-host

Requests a native messaging connection be established between the native messaging host named by this switch and the extension with ID specified by kNativeMessagingConnectExtension.

chrome_switches.cc
--native-messaging-connect-id

If set when kNativeMessagingConnectHost and kNativeMessagingConnectExtension are specified, is reflected to the native messaging host as a command line parameter.

chrome_switches.cc
--net-log-capture-mode

Sets the granularity of events to capture in the network log. The mode can be set to one of the following values: "Default" "IncludeSensitive" "Everything" See the enums of the corresponding name in net_log_capture_mode.h for a description of their meanings.

network_switches.cc
--net-log-duration

Specifies the duration (in seconds) for network logging. When this flag is provided with a positive integer value X, Chrome will automatically stop collecting NetLog events after X seconds and flush the log to disk.

network_switches.cc
--net-log-max-size-mb

Sets the maximum size, in megabytes. The log file can grow to before older data is overwritten. Do not use this flag if you want an unlimited file size.

network_switches.cc
--new-window

Launches URL in new browser window.

chrome_switches.cc
--no-default-browser-check

Disables the default browser check. Useful for UI/browser tests where we want to avoid having the default browser info-bar displayed.

chrome_switches.cc
--no-experiments

Disables all experiments set on about:flags. Does not disable about:flags itself. Useful if an experiment makes chrome crash at startup: One can start chrome with --no-experiments, disable the problematic lab at about:flags and then restart chrome without this switch again.

chrome_switches.cc
--no-first-run

Skip First Run tasks as well as not showing additional dialogs, prompts or bubbles. Suppressing dialogs, prompts, and bubbles is important as this switch is used by automation (including performance benchmarks) where it's important only a browser window is shown. This may not actually be the first run or the What's New page. Its effect can be partially ignored by adding kForceFirstRun (for FRE), kForceWhatsNew (for What's New) and/or kIgnoreNoFirstRunForSearchEngineChoiceScreen (for the DSE choice screen). This does not drop the First Run sentinel and thus doesn't prevent first run from occurring the next time chrome is launched without this flag. It also does not update the last What's New milestone, so does not prevent What's New from occurring the next time chrome is launched without this flag.

chrome_switches.cc
--no-network-profile-warning

Whether or not the browser should warn if the profile is on a network share. This flag is only relevant for Windows currently.

chrome_switches.cc
--no-pings

Don't send hyperlink auditing pings

chrome_switches.cc
--no-pre-read-main-dll

Whether this process should PrefetchVirtualMemory on the contents of Chrome.dll. This warms up the pages in memory to speed up startup but might not be required in later renderers and/or GPU. For experiment info see crbug.com/1350257.

chrome_switches.cc
--no-proxy-server

Don't use a proxy server, always make direct connections. Overrides any other proxy server flags that are passed.

chrome_switches.cc
--no-sandbox

Disables the sandbox for all process types that are normally sandboxed. Meant to be used as a browser-level switch for testing purposes only.

switches.cc
--no-service-autorun

Disables the service process from adding itself as an autorun process. This does not delete existing autorun registrations, it just prevents the service from registering a new one.

chrome_switches.cc
--no-startup-window

Does not automatically open a browser window on startup (used when launching Chrome for the purpose of hosting background apps).

chrome_switches.cc
--no-unsandboxed-zygote

Disables the unsandboxed zygote. Note: this flag should not be used on most platforms. It is introduced because some platforms (e.g. Cast) have very limited memory and binaries won't be updated when the browser process is running.

content_switches.cc
--no-user-gesture-required

Autoplay policy that does not require any user gesture.

media_switches.cc
--no-xr-runtime

Tell WebXr to assume that it does not support any runtimes.

content_switches.cc
--no-xshm

Disables MIT-SHM extension. In use only with Ozone/X11.

switches.cc
--no-zygote

Disables the use of a zygote process for forking child processes. Instead, child processes will be forked and exec'd directly. Note that --no-sandbox should also be used together with this flag because the sandbox needs the zygote to work.

content_switches.cc
--no-zygote-sandbox

Instructs the zygote to launch without a sandbox. Processes forked from this type of zygote will apply their own custom sandboxes later.

switches.cc
--noerrdialogs

Suppresses all error dialogs when present.

base_switches.cc
--none
dom_distiller_switches.cc
--notification-inline-reply

Used in combination with kNotificationLaunchId to specify the inline reply entered in the toast in the Windows Action Center.

chrome_switches.cc
--notification-launch-id

Used for launching Chrome when a toast displayed in the Windows Action Center has been activated. Should contain the launch ID encoded by Chrome.

chrome_switches.cc
--null
gl_switches.cc
--num-raster-threads

Controls the number of threads to use for raster tasks.

switches.cc
--nv12

Swap chain formats for direct composition SDR video overlays.

gl_switches.cc
--offer-in-settings
dom_distiller_switches.cc
--opengraph
dom_distiller_switches.cc
--openxr
content_switches.cc
--orientation-sensors
content_switches.cc
--override-language-detection

Overrides the language detection result determined based on the page contents.

content_switches.cc
--ozone-dump-file

Specify location for image dumps.

ozone_switches.cc
--ozone-override-screen-size

Specifies ozone screen size.

ozone_switches.cc
--ozone-platform

Specify ozone platform implementation to use.

ozone_switches.cc
--p010
gl_switches.cc
--pack-extension

Packages an extension to a .crx installable file from a given directory.

chrome_switches.cc
--pack-extension-key

Optional PEM private key to use in signing packaged .crx.

chrome_switches.cc
--package-name
base_switches.cc
--package-version-name
base_switches.cc
--passthrough
gl_switches.cc
--pdf-renderer

Renderer process that runs the non-PPAPI PDF plugin.

content_switches.cc
--pen-devices

Tells chrome to interpret events from these devices as pen events. Only available with XInput 2 (i.e. X server 1.8 or above). The id's of the devices can be retrieved from 'xinput list'.

event_switches.cc
--policy

Set policy value by command line.

policy_switches.cc
--policy-verification-key

Replace the original verification_key with the one provided by the command line flag. Can be used only for unit tests or browser tests.

policy_switches.cc
--pre-crashpad-crash-test

Causes the browser process to crash very early in startup, just before crashpad (or breakpad) is initialized.

chrome_switches.cc
--preinstalled-web-apps-dir

A directory where Chrome looks for json files describing default/preinstalled web apps. This overrides any default directory to load preinstalled web apps from.

chrome_switches.cc
--privet-ipv6-only

Use IPv6 only for privet HTTP.

chrome_switches.cc
--process-per-site

Enable the "Process Per Site" process model for all domains. This mode consolidates same-site pages so that they share a single process. More details here: - https://www.chromium.org/developers/design-documents/process-models - The class comment in site_instance.h, listing the supported process models. IMPORTANT: This isn't to be confused with --site-per-process (which is about isolation, not consolidation). You probably want the other one.

content_switches.cc
--process-per-tab

Runs each set of script-connected tabs (i.e., a BrowsingInstance) in its own renderer process. We default to using a renderer process for each site instance (i.e., group of pages from the same registered domain with script connections to each other). "unnecessary" process swaps for cross-site navigations but still swap when needed for security (e.g., isolated origins).

content_switches.cc
--product-version

Outputs the product version information and quit. Used as an internal api to detect the installed version of Chrome on Linux.

chrome_switches.cc
--profile-base-name

Pass the basename of the profile directory to specify which profile to get information. Only relevant when used with --list-apps switch.

chrome_switches.cc
--profile-directory

Selects directory of profile to associate with the first browser launched.

chrome_switches.cc
--profile-email

Like kProfileDirectory, but selects the profile by email address. If the email is not found in any existing profile, this switch has no effect. If both kProfileDirectory and kProfileEmail are specified, kProfileDirectory takes priority.

chrome_switches.cc
--profile-management-attributes

Domains and associated SAML attributes for which third-party profile management should be enabled. Input should be in JSON format.

chrome_switches.cc
--profiling-at-start

Starts the sampling based profiler for the browser process at startup. This will only work if chrome has been built with the gn arg enable_profiling = true. The output will go to the value of kProfilingFile.

base_switches.cc
--profiling-file

Specifies a location for profiling output. This will only work if chrome has been built with the gyp variable profiling=1 or gn arg enable_profiling=true. {pid} if present will be replaced by the pid of the process. {count} if present will be incremented each time a profile is generated for this process. The default is chrome-profile-{pid} for the browser and test-profile-{pid} for tests.

base_switches.cc
--profiling-flush

Controls whether profile data is periodically flushed to a file. Normally the data gets written on exit but cases exist where chromium doesn't exit cleanly (especially when using single-process). A time in seconds can be specified.

base_switches.cc
--proxy-auto-detect

Forces proxy auto-detection.

chrome_switches.cc
--proxy-bypass-list

Specifies a list of hosts for whom we bypass proxy settings and use direct connections. Ignored if --proxy-auto-detect or --no-proxy-server are also specified. This is a comma-separated list of bypass rules. See: "net/proxy_resolution/proxy_host_matching_rules.h" for the format of these rules.

chrome_switches.cc
--proxy-pac-url

Uses the pac script at the given URL

chrome_switches.cc
--proxy-server

Uses a specified proxy server, overrides system settings.

chrome_switches.cc
--pseudonymization-salt-handle

Handle to shared memory containing the pseudonymization salt, passed to child processes at launch. See https://crbug.com/40850085.

content_switches.cc
--pull-to-refresh

Enables or disables pull-to-refresh gesture in response to vertical overscroll. Set the value to '0' to disable the feature, set to '1' to enable it for both touchpad and touchscreen, and set to '2' to enable it only for touchscreen. Defaults to disabled.

content_switches.cc
--pwa-launcher-version

Specifies the version of the Progressive-Web-App launcher that launched Chrome, used to determine whether to update all launchers. method, as older PWA launchers still using this switch will rely on Chrome to update them to use the new method.

chrome_switches.cc
--raise-timer-frequency

Raise the timer interrupt frequency in all Chrome processes, for experimental purposes. This feature is needed because as of Windows 10 2004 the scheduling effects of changing the timer interrupt frequency are not global, and this lets us prove/disprove whether this matters. See https://crbug.com/1128917

content_switches.cc
--reader-mode-feedback
dom_distiller_switches.cc
--reader-mode-heuristics
dom_distiller_switches.cc
--realtime-reporting-url

Specifies the URL at which to upload real-time reports.

policy_switches.cc
--reduce-accept-language

Reduce the accept-language for HTTP header and JS navigator.languages, and only most preferred language: https://github.com/Tanych/accept-language.

content_switches.cc
--reduce-accept-language-http

Reduce the accept-language for HTTP header, and only send most preferred language in the request header: https://github.com/Tanych/accept-language.

content_switches.cc
--reduce-user-agent-minor-version

Reduce the minor version number in the User-Agent string. This flag implements phase 4 of User-Agent reduction: https://blog.chromium.org/2021/09/user-agent-reduction-origin-trial-and-dates.html.

content_switches.cc
--refresh-platform-policy

Forces immediate platform policy refresh (not cloud policy) when Chrome is already running. The switch prevents a new browser window from opening and only triggers the policy refresh. Useful for testing and automation to avoid waiting for the next scheduled refresh interval. No-op if Chrome is not already running.

chrome_switches.cc
--relauncher

A process type (switches::kProcessType) that relaunches the browser. See chrome/browser/mac/relauncher.h.

chrome_switches.cc
--remote-allow-origins

Enables web socket connections from the specified origins only. '*' allows any origin.

content_switches.cc
--remote-debugging-io-pipes

Specifies pipe names for the incoming and outbound messages on the Windows platform. This is a comma separated list of two pipe handles serialized as unsigned integers, e.g. "--remote-debugging-io-pipes=3,4".

content_switches.cc
--remote-debugging-pipe

Enables remote debug over stdio pipes [in=3, out=4] or over the remote pipes specified in the 'remote-debugging-io-pipes' switch. Optionally, specifies the format for the protocol messages, can be either "JSON" (the default) or "CBOR".

content_switches.cc
--remote-debugging-port

Enables remote debug over HTTP on the specified port.

content_switches.cc
--remote-debugging-socket-name

Enables remote debug over HTTP on the specified socket name.

content_switches.cc
--remote-debugging-targets

Provides a list of addresses to discover DevTools remote debugging targets. The format is <host>:<port>,...,<host>:port.

chrome_switches.cc
--render-node-override

Allows explicitly picking a DRM render node to create gbm_device for rendering.

ozone_switches.cc
--renderer

Causes the process to run as renderer instead of as browser.

content_switches.cc
--renderer-client-id
content_switches.cc
--renderer-cmd-prefix

The contents of this flag are prepended to the renderer command line. Useful values might be "valgrind" or "xterm -e gdb --args".

content_switches.cc
--renderer-process-limit

Overrides the default/calculated limit to the number of renderer processes. Very high values for this setting can lead to high memory/resource usage or instability.

content_switches.cc
--renderer-startup-dialog

Causes the renderer process to display a dialog on launch. Passing this flag also adds sandbox::policy::kNoSandbox on Windows non-official builds, since that's needed to show a dialog.

content_switches.cc
--renderer-wait-for-java-debugger

Block ChildProcessMain thread of the renderer's ChildProcessService until a Java debugger is attached.

content_switches.cc
--renderpass

Parameters for kUIShowCompositedLayerBorders.

switches.cc
--repair-all-valid-extensions

Indicates that all corrupted extensions should be repaired if they are are enabled by policy. This is mainly used after a user data downgrade.

chrome_switches.cc
--request-desktop-sites

Force enable user agent overrides to request desktop sites in Clank.

chrome_switches.cc
--restart

Indicates that Chrome was restarted (e.g., after a flag change). This is used to ignore the launch when recording the Launch.Mode2 metric.

chrome_switches.cc
--restore-last-session

Indicates the last session should be restored on startup. This overrides the preferences value. Note that this does not force automatic session restore following a crash, so as to prevent a crash loop. This switch is used to implement support for OS-specific "continue where you left off" functionality on OS X and Windows.

chrome_switches.cc
--run-manual

Manual tests only run when --run-manual is specified. This allows writing tests that don't run automatically but are still in the same test binary. This is useful so that a team that wants to run a few tests doesn't have to add a new binary that must be compiled on all builds.

content_switches.cc
--same-tab

Indicates that the URL in the command line should open in the active tab instead of a new tab. In case of multiple URLS given as arguments, the first one will replace the active tab.

chrome_switches.cc
--sandbox-ipc

Causes the process to run as a sandbox IPC subprocess.

content_switches.cc
--save-page-as-mhtml

Enables saving webpages as MHTML (Webpage, Single) by default, instead of saving as HTML with a directory of sub-resources. (Webpage, Complete). See http://crbug.com/40179885 for how to remove this switch.

chrome_switches.cc
--scheduler-boost-urgent

Override the default scheduling boosting value for urgent tasks. This can be adjusted if a specific chromeos device shows better perf/power ratio (e.g. by running video conference tests). Currently, this values directs to linux scheduler's utilization min clamp. Range is 0(no biased load) ~ 100(mamximum load value).

base_switches.cc
--screen-config

Specifies the initial screen configuration, or state of all displays, for FakeDisplayDelegate, see class for format details.

display_switches.cc
--screen-info

Headless screen info in the format: {0,0 800x600}{800,0 600x800}. See //components/headless/screen_info/README.md for more details.

switches.cc
--secondary-display-layout

Specifies the layout mode and offsets for the secondary display for testing. The format is "<t|r|b|l>,<offset>" where t=TOP, r=RIGHT, b=BOTTOM and L=LEFT. For example, 'r,-100' means the secondary display is positioned on the right with -100 offset. (above than primary)

display_switches.cc
--secure-connect-api-url

Specifies the base URL to contact the secure connect Api.

policy_switches.cc
--service-sandbox-type

Type of sandbox to apply to the process running the service, one of the values in the next block.

switches.cc
--shared-files

Describes the file descriptors passed to a child process in the following list format: <file_id>:<descriptor_id>,<file_id>:<descriptor_id>,... where <file_id> is an ID string from the manifest of the service being launched and <descriptor_id> is the numeric identifier of the descriptor for the child process can use to retrieve the file descriptor from the global descriptor table.

content_switches.cc
--show-autofill-signatures

Annotates forms and fields with Autofill signatures.

autofill_switches.cc
--show-autofill-type-predictions

Annotates forms with Autofill field type predictions.

autofill_switches.cc
--show-composited-layer-borders

Renders a border around compositor layers to help debug and study layer compositing.

switches.cc
--show-fps-counter

Draws a heads-up-display showing Frames Per Second as well as GPU memory usage. If you also use --enable-logging=stderr --vmodule="head*=1" then FPS will also be output to the console log.

switches.cc
--show-icons

See kHideIcons.

chrome_switches.cc
--show-layer-animation-bounds

Renders a border that represents the bounding box for the layer's animation.

switches.cc
--show-property-changed-rects

Show rects in the HUD around layers whose properties have changed.

switches.cc
--show-screenspace-rects

Show rects in the HUD around the screen-space transformed bounds of every layer.

switches.cc
--show-surface-damage-rects

Show rects in the HUD around damage as it is recorded into each render surface.

switches.cc
--silent-debugger-extension-api

Does not show an infobar when an extension attaches to a page using chrome.debugger page. Required to attach to extension background pages.

chrome_switches.cc
--silent-launch

Causes Chrome to launch without opening any windows by default. Useful if one wishes to use Chrome as an ash server.

chrome_switches.cc
--simulate-browsing-data-lifetime

Sets the BrowsingDataLifetime policy to a very short value (shorter than normally possible) for testing purposes.

chrome_switches.cc
--simulate-critical-update

Simulates a critical update being available.

chrome_switches.cc
--simulate-elevated-recovery

Simulates that elevation is needed to recover upgrade channel.

chrome_switches.cc
--simulate-idle-timeout

Sets the IdleTimeout policy to a very short value (shorter than normally possible) for testing purposes.

chrome_switches.cc
--simulate-outdated

Simulates that current version is outdated.

chrome_switches.cc
--simulate-outdated-no-au

Simulates that current version is outdated and auto-update is off.

chrome_switches.cc
--simulate-upgrade

Simulates an update being available.

chrome_switches.cc
--single-process

Runs the renderer and plugins in the same process as the browser

content_switches.cc
--site-per-process

Enforces a one-site-per-process security policy: * Each renderer process, for its whole lifetime, is dedicated to rendering pages for just one site. * Thus, pages from different sites are never in the same process. * A renderer process's access rights are restricted based on its site. * All cross-site navigations force process swaps. * <iframe>s are rendered out-of-process whenever the src= is cross-site. More details here: - https://www.chromium.org/developers/design-documents/site-isolation - https://www.chromium.org/developers/design-documents/process-models - The class comment in site_instance.h, listing the supported process models. IMPORTANT: this isn't to be confused with --process-per-site (which is about process consolidation, not isolation). You probably want this one.

content_switches.cc
--skia-font-cache-limit-mb

Specifies the max number of bytes that should be used by the skia font cache. If the cache needs to allocate more, skia will purge previous entries.

content_switches.cc
--skia-graphite-backend

Specify which backend to use for Skia Graphite - "dawn" (default) or "metal" (only allowed on non-official developer builds).

gpu_switches.cc
--skia-resource-cache-limit-mb

Specifies the max number of bytes that should be used by the skia resource cache. The previous entries are purged from the cache when the memory useage exceeds this limit.

content_switches.cc
--slow-down-raster-scale-factor

Re-rasters everything multiple times to simulate a much slower machine. Give a scale factor to cause raster to take that many times longer to complete, such as --slow-down-raster-scale-factor=25.

switches.cc
--source-app-id

When rendezvousing with an existing process, used to indicate that the StartupInfoW of the new Chrome process had dwFlags == STARTF_TITLEISAPPID. This is used to record launch metrics.

chrome_switches.cc
--source-shortcut

When rendezvousing with an existing process, used to pass the path of the shortcut that launched the new Chrome process. This is used to record launch metrics.

chrome_switches.cc
--ssl-key-log-file

Causes SSL key material to be logged to the specified file for debugging purposes. See https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format for the format.

network_switches.cc
--ssl-version-max

Specifies the maximum SSL/TLS version ("tls1.2" or "tls1.3").

chrome_switches.cc
--ssl-version-min

Specifies the minimum SSL/TLS version ("tls1.2" or "tls1.3").

chrome_switches.cc
--start-fullscreen

Specifies if the browser should start in fullscreen mode, like if the user had pressed F11 right after startup.

content_switches.cc
--start-maximized

Starts the browser maximized, regardless of any previous settings.

chrome_switches.cc
--start-stack-profiler

Starts the stack sampling profiler in the child process.

chrome_switches.cc
--startup-foreground-launch

Identifies Chrome instances that start in foreground mode at startup to record related metrics.

chrome_switches.cc
--stub
gl_switches.cc
--suppress-performance-logs

Suppresses GL_DEBUG_TYPE_PERFORMANCE log messages for web tests that can get sent to the JS console and cause unnecessary test failures due test output log expectation comparisons.

gpu_switches.cc
--surface
switches.cc
--swiftshader
gpu_switches.cc
--swiftshader-webgl
gl_switches.cc
--system-aec-enabled

Enforce system audio echo cancellation.

media_switches.cc
--system-log-upload-frequency

Frequency in Milliseconds for system log uploads. Should only be used for testing purposes.

chrome_switches.cc
--target-device-scale-for-testing

Allows web tests to specify the target device scale for the test cases.

content_switches.cc
--test-child-process

When running certain tests that spawn child processes, this switch indicates to the test framework that the current process is a child process.

base_switches.cc
--test-gl-lib

Flag used for Linux tests: for desktop GL bindings, try to load this GL library first, but fall back to regular library if loading fails.

gl_switches.cc
--test-memory-log-delay-in-minutes

Custom delay for memory log. This should be used only for testing purpose.

chrome_switches.cc
--test-name

Passes the name of the current running automated test to Chrome.

chrome_switches.cc
--test-third-party-cookie-phaseout
network_switches.cc
--test-type

Type of the current test harness ("browser" or "ui" or "gpu").

content_switches.cc
--time-ticks-at-unix-epoch

Accepts a number representing the time-ticks value at the Unix epoch. Since different processes can produce a different value for this due to system clock changes, this allows synchronizing them to a single value.

content_switches.cc
--tint-dc-layer

Tint `SwapChainPresenter` with the following colors: - Decode swap chain: blue - VP blit: magenta - VP blit w/ staging texture: orange - MF proxy surface: green This is similar to `HKLM\Software\Microsoft\Windows\DWM` `OverlayTestMode=1` in DWM, but to help understand `SwapChainPresenter` state.

gl_switches.cc
--top-controls-hide-threshold

Percentage of the browser controls need to be hidden before they will auto hide.

switches.cc
--top-controls-show-threshold

Percentage of the browser controls need to be shown before they will auto show.

switches.cc
--touch-devices

Tells chrome to interpret events from these devices as touch events. Only available with XInput 2 (i.e. X server 1.8 or above). The id's of the devices can be retrieved from 'xinput list'.

event_switches.cc
--touch-events

Enable support for touch event feature detection.

content_switches.cc
--touch-slop-distance

Overrides touch slop distance for gesture detection. The touch slop distance is the maximum distance from the starting point of a touch sequence that a gesture can travel before it can no longer be considered a tap. Scroll gestures can only begin after this distance has been travelled. The switch value is a floating point number that is interpreted as a distance in pixels.

event_switches.cc
--trace-to-file

Sends trace events from these categories to a file. --trace-to-file on its own sends to default categories.

base_switches.cc
--trace-to-file-name

Specifies the file name for --trace-to-file. If unspecified, it will go to a default file name.

base_switches.cc
--translate-ranker-model-url

Overrides the URL from which the translate ranker model is downloaded.

translate_switches.cc
--translate-script-url

Overrides the default server used for Google Translate.

translate_switches.cc
--translate-security-origin

Overrides security-origin with which Translate runs in an isolated world.

translate_switches.cc
--trusted-download-sources

Identifies a list of download sources as trusted, but only if proper group policy is set.

chrome_switches.cc
--try-supported-channel-layouts

Instead of always using the hardware channel layout, check if a driver supports the source channel layout. Avoids outputting empty channels and permits drivers to enable stereo to multichannel expansion. Kept behind a flag since some drivers lie about supported layouts and hang when used. See http://crbug.com/259165 for more details.

media_switches.cc
--type

The value of this switch determines whether the process is started as a renderer or plugin host. If it's empty, it's the browser.

content_switches.cc
--ui-disable-zero-copy
compositor_switches.cc
--ui-enable-rgba-4444-textures
compositor_switches.cc
--ui-enable-zero-copy
compositor_switches.cc
--ui-show-composited-layer-borders
switches.cc
--ui-show-fps-counter
switches.cc
--ui-show-layer-animation-bounds
switches.cc
--ui-show-paint-rects
compositor_switches.cc
--ui-show-property-changed-rects
switches.cc
--ui-show-screenspace-rects
switches.cc
--ui-show-surface-damage-rects
switches.cc
--ui-slow-animations
compositor_switches.cc
--uninstall

Runs un-installation steps that were done by chrome first-run.

chrome_switches.cc
--uninstall-app-id

Specifies that the WebApp with the specified id should be uninstalled.

chrome_switches.cc
--unique-temp-dir-suffix

When switches::kProcessType is switches::kCodeSignCloneCleanupProcess this switch is required. The value must be the unique suffix portion of the temporary directory that contains the clone. The full path will be reconstructed by the cleanup process.

chrome_switches.cc
--unlimited-storage

Overrides per-origin quota settings to unlimited storage for any apps/origins. This should be used only for testing purpose.

chrome_switches.cc
--use-adapter-luid

Initialize the GPU process using the adapter with the specified LUID. This is only used on Windows, as LUID is a Windows specific structure.

gl_switches.cc
--use-angle

Select which ANGLE backend to use. Options are: default: Attempts several ANGLE renderers until one successfully initializes, varying ES support by platform. d3d9: Legacy D3D9 renderer, ES2 only. d3d11: D3D11 renderer, ES2 and ES3. warp: D3D11 renderer using software rasterization, ES2 and ES3. gl: Desktop GL renderer, ES2 and ES3. gles: GLES renderer, ES2 and ES3.

gl_switches.cc
--use-cmd-decoder

Use the Pass-through command decoder, skipping all validation and state tracking. Switch lives in ui/gl because it affects the GL binding initialization on platforms that would otherwise not default to using EGL bindings.

gl_switches.cc
--use-context-snapshot

Switch supplied to the renderer if the feature `kUseContextSnapshot` is enabled. A switch is used as at the time the renderer needs this information features have not yet been loaded.

content_switches.cc
--use-cras

Use CRAS, the ChromeOS audio server.

media_switches.cc
--use-fake-device-for-media-stream

Use fake device for Media Stream to replace actual camera and microphone. For the list of allowed parameters, see FakeVideoCaptureDeviceFactory::ParseFakeDevicesConfigFromOptionsString().

media_switches.cc
--use-fake-ui-for-digital-identity

Bypass the digital-identity-credential OS call. Simulate the user accepting the OS-presented dialog.

content_switches.cc
--use-fake-ui-for-fedcm

Bypass the FedCM account selection dialog. If a value is provided for this switch, that account ID is selected, otherwise the first account is chosen.

content_switches.cc
--use-fake-ui-for-media-stream

Bypass the media stream infobar by selecting the default device for media streams (e.g. WebRTC). Works with --use-fake-device-for-media-stream. Prefer --auto-accept-camera-and-microphone-capture which does not interact with screen/tab capture.

content_switches.cc
--use-file-for-fake-audio-capture

Play a .wav file as the microphone. Note that for WebRTC calls we'll treat the bits as if they came from the microphone, which means you should disable audio processing (lest your audio file will play back distorted). The input file is converted to suit Chrome's audio buses if necessary, so most sane .wav files should work. You can pass either <path> to play the file looping or <path>%noloop to stop after playing the file to completion. Must also be used with kDisableAudioInput or kUseFakeDeviceForMediaStream.

media_switches.cc
--use-file-for-fake-video-capture

Use an .y4m file to play as the webcam. See the comments in media/capture/video/file_video_capture_device.h for more details.

media_switches.cc
--use-first-display-as-internal

Uses the 1st display in --ash-host-window-bounds as internal display. This is for debugging on linux desktop.

display_switches.cc
--use-first-party-set

Allows the manual specification of a First-Party Set. The format is the same as that of `--use-related-website-set`. DEPRECATED(crbug.com/1486689): This switch is under deprecation due to renaming "First-Party Set" to "Related Website Set". Please use `kUseRelatedWebsiteSet` instead.

network_switches.cc
--use-gl

Select which implementation of GL the GPU process should use. Options are: desktop: whatever desktop OpenGL the user has installed (Linux and Mac default). egl: whatever EGL / GLES2 the user has installed (Windows default - actually ANGLE). swiftshader: The SwiftShader software renderer.

gl_switches.cc
--use-gpu-in-tests

Use hardware gpu, if available, for tests.

gl_switches.cc
--use-redist-dml

Try to use a redistributable DirectML.dll. Used for testing WebNN against newer DirectML release before it is integrated into Windows OS. Please see more info about DirectML releases at: https://learn.microsoft.com/en-us/windows/ai/directml/dml-version-history

gpu_switches.cc
--use-related-website-set

Allows the manual specification of a Related Website Set. The set should be provided as a stringified JSON object, whose format matches the format of the JSON in https://github.com/GoogleChrome/related-website-sets.

network_switches.cc
--use-system-default-printer

Uses the system default printer as the initially selected destination in print preview, instead of the most recently used destination.

chrome_switches.cc
--use-system-proxy-resolver

Uses WinHttp to resolve proxies instead of using Chromium's normal proxy resolution logic. This is only supported in Windows. exclusively using system proxy configs.

chrome_switches.cc
--use-vulkan

Enable Vulkan support and select Vulkan implementation, must also have ENABLE_VULKAN defined. This only initializes Vulkan, the flag --enable-features=Vulkan must also be used to select Vulkan for compositing and rasterization.

gpu_switches.cc
--use-wayland-explicit-grab

Use explicit grab when opening popup windows. See https://crbug.com/1220274

ozone_switches.cc
--use-webgpu-adapter

The adapter to use for WebGPU content.

gpu_switches.cc
--use-webgpu-power-preference

The adapter selecting strategy related to GPUPowerPreference.

gpu_switches.cc
--user-data-dir

Specifies the user data directory, which is where the browser will look for all of its state.

chrome_switches.cc
--user-data-migrated

Indicates that this process is the product of a relaunch following migration of User Data.

chrome_switches.cc
--user-gesture-required

Autoplay policy to require a user gesture in order to play.

media_switches.cc
--utility

Causes the process to run as a utility subprocess.

content_switches.cc
--utility-cmd-prefix

The contents of this flag are prepended to the utility process command line. Useful values might be "valgrind" or "xterm -e gdb --args".

content_switches.cc
--utility-startup-dialog

Causes the utility process to display a dialog on launch.

content_switches.cc
--utility-sub-type

This switch indicates the type of a utility process. It does not affect the services offered by the process, but is added to the command line to make it easier to identify the purpose of the utility process.

content_switches.cc
--v8-cache-options

Set options to cache V8 data. (none, code, or default)

content_switches.cc
--validate-crx

Examines a .crx for validity and prints the result.

chrome_switches.cc
--validating

The command decoder names that can be passed to --use-cmd-decoder.

gl_switches.cc
--variations-insecure-server-url

Specifies a custom URL for the server to use as an insecure fallback when requests to |kVariationsServerURL| fail. Requests to this URL will be encrypted.

variations_switches.cc
--variations-override-country

Allows overriding the country used for evaluating variations. This is similar to the "Override Variations Country" entry on chrome://translate-internals, but is exposed as a command-line flag to allow testing First Run scenarios. Additionally, unlike chrome://translate-internals, the value isn't persisted across sessions.

variations_switches.cc
--variations-seed-corpus

Specifies the value of the variations seed corpus to use. When unspecified or unrecognized, the default corpus will be used.

variations_switches.cc
--variations-seed-fetch-interval

Override the time interval between each variation seed fetches. Unit is in minutes. The minimum is 1 minute. The default is 30 minutes.

variations_switches.cc
--variations-seed-version

Used to share variations seed version with child processes.

variations_switches.cc
--variations-server-url

Specifies a custom URL for the server which reports variation data to the client. Specifying this switch enables the Variations service on unofficial builds. See variations_service.cc.

variations_switches.cc
--variations-state-file

Use features defined in the value. Use this flag to reproduce experiments related issues. Copy 'Command-line Variations' value from chrome://version page. Save it to a file and pass it via this flag. The value is a base64 encoded JSON format produced by `variations::VariationsCommandLine::WriteToString`.

variations_switches.cc
--variations-test-seed-path

Specifies the location of a seed file for Local State's seed to be populated from. The seed file must be in json format with the keys |kVariationsCompressedSeed| and |kVariationsSeedSignature|.

variations_switches.cc
--version

Prints version information and quits.

chrome_switches.cc
--video-image-texture-target

Texture target for CHROMIUM_image backed video frame textures.

content_switches.cc
--video-threads

Set number of threads to use for video decoding.

media_switches.cc
--vmodule

Gives the per-module maximal V-logging levels to override the value given by --v. E.g. "my_module=2,foo*=3" would change the logging level for all code in source files "my_module.*" and "foo*.*" ("-inl" suffixes are also disregarded for this matching). Any pattern containing a forward or backward slash will be tested against the whole pathname and not just the module. E.g., "*/foo/bar/*=2" would change the logging level for all code in source files under a "foo/bar" directory.

base_switches.cc
--vulkan
gl_switches.cc
--vulkan-heap-memory-limit-mb

Specifies the heap limit for Vulkan memory.

gpu_switches.cc
--vulkan-null
gl_switches.cc
--vulkan-sync-cpu-memory-limit-mb

Specifies the sync CPU limit for total Vulkan memory.

gpu_switches.cc
--wait-for-debugger

Will wait for 60 seconds for a debugger to come to attach to the process.

base_switches.cc
--wait-for-debugger-children

Will add kWaitForDebugger to every child processes. If a value is passed, it will be used as a filter to determine if the child process should have the kWaitForDebugger flag passed on or not.

content_switches.cc
--wait-for-debugger-on-navigation

On every navigation a message with the renderer's URL will be logged and the renderer will wait for a debugger to be attached or SIGUSR1 to be sent to continue execution.

content_switches.cc
--wait-for-debugger-webui

Flag used by WebUI test runners to wait for debugger to be attached.

content_switches.cc
--wallet-service-use-sandbox

Use the sandbox Online Wallet service URL (for developer testing).

autofill_switches.cc
--waveout-buffers

Number of buffers to use for WaveOut.

media_switches.cc
--wayland-text-input-version

Specify wayland text-input protocol version. Defaults to "1" for text-input-v1. Can specify value "3" for experimental text-input-v3 support.

ozone_switches.cc
--web-otp-backend

Enables specified backend for the Web OTP API.

content_switches.cc
--web-otp-backend-auto

Enables auto backend selection for Web OTP API.

content_switches.cc
--web-otp-backend-sms-verification

Enables Sms Verification backend for Web OTP API which requires app hash in SMS body.

content_switches.cc
--web-otp-backend-user-consent

Enables User Consent backend for Web OTP API.

content_switches.cc
--web-settings-for-testing

Allows web tests to specify additional web settings for the test cases.

content_switches.cc
--webapk-server-url

Custom WebAPK server URL for the sake of testing.

chrome_switches.cc
--webauthn-remote-desktop-support

Allows trusted remote desktop clients to make WebAuthn requests on behalf of other origins. This switch only controls availability of the `remoteDesktopClientOverride` extension but doesn't by itself enable any origin to use it.

content_switches.cc
--webgl-antialiasing-mode

Set the antialiasing method used for webgl. (none, explicit, implicit)

content_switches.cc
--webgl-msaa-sample-count

Set a default sample count for webgl if msaa is enabled.

content_switches.cc
--webrtc-event-logging

Enable capture and local storage of WebRTC event logs without visiting chrome://webrtc-internals. This is useful for automated testing. It accepts the path to which the local logs would be stored. Disabling is not possible without restarting the browser and relaunching without this flag.

content_switches.cc
--webrtc-ip-handling-policy

Override WebRTC IP handling policy to mimic the behavior when WebRTC IP handling policy is specified in Preferences.

chrome_switches.cc
--webview-draw-functor-uses-vulkan

Indicate that the this is being used by Android WebView and its draw functor is using vulkan.

gpu_switches.cc
--whats-new-use-staging

Force What's New on Desktop to request from the staging environment.

chrome_switches.cc
--win-jumplist-action

Specifies which category option was clicked in the Windows Jumplist that resulted in a browser startup.

chrome_switches.cc
--window-name

Specify the initial window user title: --window-name="My custom title"

chrome_switches.cc
--window-position

Specify the initial window position: --window-position=x,y

chrome_switches.cc
--window-size

Specify the initial window size: --window-size=w,h

chrome_switches.cc
--window-workspace

Specify the initial window workspace: --window-workspace=id

chrome_switches.cc
--winhttp-proxy-resolver

Uses WinHTTP to fetch and evaluate PAC scripts. Otherwise the default is to use Chromium's network stack to fetch, and V8 to evaluate.

chrome_switches.cc
--yuy2
gl_switches.cc
--zygote

Causes the process to run as a zygote.

content_switches.cc
--zygote-cmd-prefix

The prefix used when starting the zygote process. (i.e. 'gdb --args')

content_switches.cc