Peter Beverloo

chrome disable experimental features command line

List of Chromium Command Line Switches

There are lots of command lines which can be used with the Google Chrome browser. Some change behavior of features, others are for debugging or experimenting. This page lists the available switches including their conditions and descriptions. Last automated update occurred on 2024-08-18 .

Condition Explanation
--
--0
--1
--10000
--100000
--1000000
--2
--3d-display-mode
--4
--50000
--500000
--5000000
--7
--?
--accept-empty-variations-seed-signature Accept an empty signature when loading a variations seed. This is for testing purposes.
--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.
--accept-resource-provider Flag indicating that a resource provider must be set up to provide cast receiver with resources. Apps cannot start until provided resources. This flag implies --alsa-check-close-timeout=0.
--adaboost
--add-gpu-appcontainer-caps Add additional capabilities to the AppContainer sandbox on the GPU process.
--add-xr-appcontainer-caps Add additional capabilities to the AppContainer sandbox used for XR compositing.
--additional-private-state-token-key-commitments Manually sets additional Private State Tokens key commitments in the network service to the given value, which should be a JSON dictionary satisfying the requirements of TrustTokenKeyCommitmentParser::ParseMultipleIssuers. These keys are available in addition to keys provided by the most recent call to TrustTokenKeyCommitments::Set. For issuers with keys provided through both the command line and TrustTokenKeyCommitments::Set, the keys provided through the command line take precedence. This is because someone testing manually might want to pass additional keys via the command line to a real Chrome release with the component updater enabled, and it would be surprising if the manually-passed keys were overwritten some time after startup when the component updater runs.
--aggressive-cache-discard
--all
--all-renderers
--allarticles
--allow-command-line-plugins Allows plugins to be loaded in the command line for testing.
--allow-cross-origin-auth-prompt Allows third-party content included on a page to prompt for a HTTP basic auth username/password pair.
--allow-empty-passwords-in-tests TODO(b/299642185): Remove this flag by the end of 2023. ChromeOS does not support empty passwords for users, but some legacy test setups might use empty password for users.
--allow-external-pages Allow access to external pages during web tests.
--allow-failed-policy-fetch-for-test If this flag is passed, failed policy fetches will not cause profile initialization to fail. This is useful for tests because it means that tests don't have to mock out the policy infrastructure.
--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.
--allow-future-manifest-version
--allow-http-background-page
--allow-http-screen-capture Allow non-secure origins to use the screen capture API and the desktopCapture extension API.
--allow-insecure-localhost Enables TLS/SSL errors on localhost to be ignored (no interstitial, no blocking of requests).
--allow-legacy-extension-manifests
--allow-loopback-in-peer-connection Allows loopback interface to be added in network list for peer connection.
--allow-nacl-crxfs-api Specifies comma-separated list of extension ids or hosts to grant access to CRX file system APIs.
--allow-nacl-file-handle-api Specifies comma-separated list of extension ids or hosts to grant access to file handle APIs.
--allow-nacl-socket-api Specifies comma-separated list of extension ids or hosts to grant access to TCP/UDP socket APIs.
--allow-os-install When this flag is set, the OS installation UI can be accessed. This allows the user to install from USB to disk.
--allow-pre-commit-input Allows processing of input before a frame has been committed. TODO(crbug.com/987626): Used by headless. Look for a way not involving a command line switch.
--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.
--allow-running-insecure-content
--allow-sandbox-debugging Allows debugging of sandboxed processes (see zygote_main_linux.cc).
--allow-silent-push Allows Web Push notifications that do not show a notification.
--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.
--allowlisted-extension-id
--almanac-api-url Override for the URL used for the ChromeOS Almanac API. Used for local testing with a non-production server (e.g. "--almanac-api-url=http://localhost:8000").
--alsa-amp-device-name Name of the device the amp mixer should be opened on. If this flag is not specified it will default to the same device as kAlsaVolumeDeviceName.
--alsa-amp-element-name Name of the simple mixer control element that the ALSA-based media library should use to toggle powersave mode on the system.
--alsa-check-close-timeout Time in ms to wait before closing the PCM handle when no more mixer inputs remain. Assumed to be 0 if --accept-resource-provider is present.
--alsa-enable-upsampling Flag that enables resampling audio with sample rate below 32kHz up to 48kHz. Should be set to true for internal audio products.
--alsa-fixed-output-sample-rate Optional flag to set a fixed sample rate for the alsa device. Deprecated: Use --audio-output-sample-rate instead.
--alsa-input-device The Alsa device to use when opening an audio input stream.
--alsa-mute-device-name Name of the device the mute mixer should be opened on. If this flag is not specified it will default to the same device as kAlsaVolumeDeviceName.
--alsa-mute-element-name Name of the simple mixer control element that the ALSA-based media library should use to mute the system.
--alsa-output-avail-min Minimum number of available frames for scheduling a transfer.
--alsa-output-buffer-size Size of the ALSA output buffer in frames. This directly sets the latency of the output device. Latency can be calculated by multiplying the sample rate by the output buffer size.
--alsa-output-device The Alsa device to use when opening an audio stream.
--alsa-output-period-size Size of the ALSA output period in frames. The period of an ALSA output device determines how many frames elapse between hardware interrupts.
--alsa-output-start-threshold How many frames need to be in the output buffer before output starts.
--alsa-volume-device-name Name of the device the volume control mixer should be opened on. Will use the same device as kAlsaOutputDevice and fall back to "default" if kAlsaOutputDevice is not supplied.
--alsa-volume-element-name Name of the simple mixer control element that the ALSA-based media library should use to control the volume.
--also-emit-success-logs Also emit full event trace logs for successful tests.
--always-enable-hdcp Causes HDCP of the specified type to always be enabled when an external display is connected. Used for HDCP compliance testing on ChromeOS.
--always-use-complex-text Always use the complex text path for web tests.
--alwaystrue
--angle
--animated-image-resume Enables the resume method on animated images.
--animation-duration-scale Scale factor to apply to every animation duration. Must be >= 0.0. This will only apply to LinearAnimation and its subclasses.
--app Specifies that the associated value should be launched in "application" mode.
--app-auto-launched Specifies whether an app launched in kiosk mode was auto launched with zero delay. Used in order to properly restore auto-launched state during session restore flow.
--app-id Specifies that the extension-app with the specified id should be launched according to its configuration.
--app-launch-url-for-shortcuts-menu-item Overrides the launch url of an app with the specified url. This is used along with kAppId to launch a given app with the url corresponding to an item in the app's shortcuts menu.
--app-mode-auth-code Value of GAIA auth code for --force-app-mode.
--app-mode-oauth-token Value of OAuth2 refresh token for --force-app-mode.
--app-mode-oem-manifest Path for app's OEM manifest file.
--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.
--app-shell-allow-roaming Allow roaming in the cellular network.
--app-shell-host-window-size Size for the host window to create (i.e. "800x600").
--app-shell-preferred-network SSID of the preferred WiFi network.
--apple
--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.
--apps-gallery-update-url Overrides the update url used by webstore extensions.
--apps-gallery-url Overrides the url that the browser treats as the webstore, granting it the webstore APIs and giving it some special protections.
--apps-keep-chrome-alive-in-tests Prevents Chrome from quitting when Chrome Apps are open.
--arc-availability Signals ARC support status on this device. This can take one of the following three values. - none: ARC is not installed on this device. (default) - installed: ARC is installed on this device, but not officially supported. Users can enable ARC only when Finch experiment is turned on. - officially-supported: ARC is installed and supported on this device. So users can enable ARC via settings etc.
--arc-available DEPRECATED: Please use --arc-availability=installed. Signals the availability of the ARC instance on this device.
--arc-block-keymint Switch that blocks KeyMint. When KeyMint is blocked, Keymaster is enabled.
--arc-data-cleanup-on-start Flag that forces ARC data be cleaned on each start.
--arc-disable-app-sync Flag that disables ARC app sync flow that installs some apps silently. Used in autotests to resolve racy conditions.
--arc-disable-dexopt-cache Used in tests to disable DexOpt cache which is on by default.
--arc-disable-download-provider Flag that disables ARC download provider that prevents extra content to be downloaded and installed in context of Play Store and GMS Core.
--arc-disable-gms-core-cache Used in autotest to disable GMS-core caches which is on by default.
--arc-disable-locale-sync Flag that disables ARC locale sync with Android Container. Used in autotest to prevent conditions when certain apps, including Play Store may get restarted. Restarting Play Store may cause random test failures. Enabling this flag would also forces ARC Container to use 'en-US' as a locale and 'en-US,en' as preferred languages.
--arc-disable-media-store-maintenance Used to disable GMS scheduling of media store periodic indexing and corpora maintenance tasks. Used in performance tests to prevent running during testing which can cause unstable results or CPU not idle pre-test failures.
--arc-disable-play-auto-install Flag that disables ARC Play Auto Install flow that installs set of predefined apps silently. Used in autotests to resolve racy conditions.
--arc-disable-tts-cache Used in autotest to disable TTS cache which is on by default.
--arc-erofs Flag that indicates ARC images are formatted with EROFS (go/arcvm-erofs).
--arc-force-mount-android-volumes-in-files Flag that forces Android volumes (DocumentsProviders and Play files) to be mounted in the Files app. Used for testing.
--arc-force-show-optin-ui Flag that forces the OptIn ui to be shown. Used in tests.
--arc-generate-play-auto-install Flag that enables developer options needed to generate an ARC Play Auto Install roster. Used manually by developers.
--arc-host-ureadahead-mode Sets the mode of operation for ureadahead during ARC Container boot. readahead (default) - used during production and is equivalent to no switch being set. generate - used during Android Uprev data collector to pre-generate pack file and upload to Google Cloud as build artifact for CrOS build image. disabled - used for test purpose to disable ureadahead during ARC Container boot.
--arc-install-event-chrome-log-for-tests Write ARC++ install events to chrome log for integration test.
--arc-packages-cache-mode Used in autotest to specifies how to handle packages cache. Can be copy - copy resulting packages.xml to the temporary directory. skip-copy - skip initial packages cache setup and copy resulting packages.xml to the temporary directory.
--arc-play-store-auto-update Used in autotest to forces Play Store auto-update state. Can be on - auto-update is forced on. off - auto-update is forced off.
--arc-scale Set the scale for ARC apps. This is in DPI. e.g. 280 DPI is ~ 1.75 device scale factor. See https://source.android.com/compatibility/android-cdd#3_7_runtime_compatibility for list of supported DPI values.
--arc-start-mode Defines how to start ARC. This can take one of the following values: - always-start automatically start with Play Store UI support. - always-start-with-no-play-store automatically start without Play Store UI. If it is not set, then ARC is started in default mode.
--arc-tos-host-for-tests Sets ARC Terms Of Service hostname url for testing.
--arc-use-dev-caches Flag that indicates ARC is using dev caches generated by data collector in Uprev rather than caches from CrOS build stage for arccachesetup service.
--arcore The following are the runtimes that WebXr supports.
--arcvm-ureadahead-mode Sets the mode of operation for ureadahead during ARCVM boot. If this switch is not set, ARCVM ureadahead will check for the presence and age of pack file and reads ahead files to page cache for improved boot performance. readahead (default) - used during production and is equivalent to no switch being set. This is used in tast test to explicitly turn on guest ureadahead (see |kArcDisableUreadahead|). generate - used during Android Uprev data collector to pre-generate pack file and upload to Google Cloud as build artifact for CrOS build image. disabled - used for test purpose to disable ureadahead during ARCVM boot. note, |kArcDisableUreadahead| also disables both, guest and host parts of ureadahead.
--arcvm-use-hugepages Madvises the kernel to use Huge Pages for guest memory.
--as-browser Flag to launch tests in the browser process.
--ash-allow-default-shelf-pin-layout-ignoring-sync Allows the Ash shelf to apply the default pin layout without waiting for Sync to download data from the server (which many tests can't achieve).
--ash-clear-fast-ink-buffer Clear the fast ink buffer upon creation. This is needed on some devices that do not zero out new buffers.
--ash-constrain-pointer-to-root Force the pointer (cursor) position to be kept inside root windows.
--ash-contextual-nudges-interval Overrides the minimum time that must pass between showing user contextual nudges. Unit of time is in seconds.
--ash-contextual-nudges-reset-shown-count Reset contextual nudge shown count on login.
--ash-debug-shortcuts Enable keyboard shortcuts useful for debugging.
--ash-dev-shortcuts Enable keyboard shortcuts used by developers only.
--ash-disable-touch-exploration-mode Disable the Touch Exploration Mode. Touch Exploration Mode will no longer be turned on automatically when spoken feedback is enabled when this flag is set.
--ash-enable-magnifier-key-scroller Enables key bindings to scroll magnified screen.
--ash-enable-palette-on-all-displays Enables the palette on every display, instead of only the internal one.
--ash-enable-software-mirroring Enables software based mirroring.
--ash-enable-unified-desktop Enables unified desktop mode.
--ash-hide-notifications-for-factory Hides notifications that are irrelevant to Chrome OS device factory testing, such as battery level updates.
--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.
--ash-no-nudges Hides educational nudges that can interfere with tast integration tests. Somewhat similar to --no-first-run but affects system UI behavior, not browser behavior.
--ash-power-button-position Power button position includes the power button's physical display side and the percentage for power button center position to the display's width/height in landscape_primary screen orientation. The value is a JSON object containing a "position" property with the value "left", "right", "top", or "bottom". For "left" and "right", a "y" property specifies the button's center position as a fraction of the display's height (in [0.0, 1.0]) relative to the top of the display. For "top" and "bottom", an "x" property gives the position as a fraction of the display's width relative to the left side of the display.
--ash-side-volume-button-position The physical position info of the side volume button while in landscape primary screen orientation. The value is a JSON object containing a "region" property with the value "keyboard", "screen" and a "side" property with the value "left", "right", "top", "bottom".
--ash-touch-hud Enables the heads-up display for tracking touch points.
--attestation-server Used in AttestationClient to determine which Google Privacy CA to use for attestation.
--attribution-reporting-debug-mode Causes the Attribution Report API to run without delays or noise.
--audio
--audio-buffer-size Allow users to specify a custom buffer size for debugging purpose.
--audio-capturer-with-echo-cancellation Forces AudioManagerFuchsia to assume that the AudioCapturer implements echo cancellation. TODO(crbug.com/42050621): Remove this once AudioManagerFuchsia is updated to get this information from AudioCapturerFactory.
--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.
--audio-output-channels Number of audio output channels. This will be used to send audio buffer with specific number of channels to ALSA and generate loopback audio. Default value is 2.
--audio-output-sample-rate Specify fixed sample rate for audio output stream. If this flag is not specified the StreamMixer will choose sample rate based on the sample rate of the media stream.
--audio-process-high-priority Use high priority for the audio process.
--aue-reached-for-update-required-test If this switch is passed, the device policy DeviceMinimumVersion assumes that the device has reached Auto Update Expiration. This is useful for testing the policy behaviour on the DUT.
--aura-legacy-power-button (Most) Chrome OS hardware reports ACPI power button releases correctly. Standard hardware reports releases immediately after presses. If set, we lock the screen or shutdown the system immediately in response to a press instead of displaying an interactive animation.
--auth-server-allowlist Allowlist for Negotiate Auth servers
--auth-spnego-account-type Android authentication account type for SPNEGO authentication
--auto
--auto-accept-camera-and-microphone-capture Bypasses the dialog prompting the user for permission to capture cameras and microphones. Useful in automatic tests of video-conferencing Web applications. This is nearly identical to kUseFakeUIForMediaStream, with the exception being that this flag does NOT affect screen-capture.
--auto-accept-this-tab-capture This flag makes Chrome auto-accept/reject requests to capture the current tab. It should only be used for tests.
--auto-grant-captured-surface-control-prompt Skip the permission prompt for Captured Surface Control.
--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.
--auto-reject-this-tab-capture
--auto-select-desktop-capture-source This flag makes Chrome auto-select the provided choice when an extension asks permission to start desktop capture. Should only be used for tests. For instance, --auto-select-desktop-capture-source="Entire screen" will automatically select sharing the entire screen in English locales. The switch value only needs to be substring of the capture source name, i.e. "display" would match "Built-in display" and "External display", whichever comes first.
--auto-select-tab-capture-source-by-title This flag makes Chrome auto-select a tab with the provided title when the media-picker should otherwise be displayed to the user. This switch is very similar to kAutoSelectDesktopCaptureSource, but limits selection to tabs. This solves the issue of kAutoSelectDesktopCaptureSource being liable to accidentally capturing the Chromium window instead of the tab, as both have the same title if the tab is focused.
--auto-select-window-capture-source-by-title This flag makes Chrome auto-select a window with the provided title when the media-picker should otherwise be displayed to the user. This switch is very similar to kAutoSelectDesktopCaptureSource, but limits selection to the window.
--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-server-url Override the default autofill server URL with "scheme://host[:port]/prefix/".
--autofill-upload-throttling-period-in-days The number of days after which to reset the registry of autofill events for which an upload has been sent.
--autoplay-policy Command line flag name to set the autoplay policy.
--back-gesture-horizontal-threshold The number of pixels from the start of a left swipe gesture to consider as a 'back' gesture.
--background-tracing-output-path Sets a local folder destination for tracing data. This is only used if kEnableBackgroundTracing is also specified.
--bgra
--biod-fake Enables BIOD fake behavior. If the switch is set, fake biod D-Bus client is initialized and BIOD events do not reach chrome.
--birch-is-evening Sets the birch ranker to assume it is evening for birch chip ranking purposes.
--birch-is-morning Sets the birch ranker to assume it is morning for birch chip ranking purposes.
--blink-settings Set blink settings. Format is <name>[=<value],<name>[=<value>],... The names are declared in Settings.json5. For boolean type, use "true", "false", or omit '=<value>' part to set to true. For enum type, use the int value of the enum value. Applied after other command line flags and prefs.
--bootstrap Values for the kExtensionContentVerification flag. See ContentVerifierDelegate::Mode for more explanation.
--borealis-launch-options Allows passing a BorealisLaunchOptions string to the chrome process, which will be stored in the kExtraLaunchOptions. For the format, see the documentation in chrome/browser/ash/borealis/borealis_launch_options.h.
--bottom-gesture-start-height The number of pixels up from the bottom of the screen to consider as a valid origin for a bottom swipe gesture. If set, overrides the value of both the above system-gesture-start-height flag and the default value in cast_system_gesture_handler.cc.
--bound-session-cookie-rotation-delay Used to add artificial delay to the cookie rotation request. It expects as value a number representing the delay in milliseconds.
--bound-session-cookie-rotation-result Used to simulate the cookie rotation network request response. It expects as a value a number representing the enum value of `BoundSessionRefreshCookieFetcher::Result`. Note: This should be used to simulate error cases not success. If success `0` is used, bound cookies won't be set.
--browser
--browser-data-backward-migration-for-user Specifies the user that the browser data backward migration should happen for.
--browser-data-backward-migration-mode Backward migration mode. Passed with `kBrowserDataBackwardMigrationForUser`.
--browser-data-migration-for-user Specifies the user that the browser data migration should happen for.
--browser-data-migration-mode Run move migration instead of copy. Passed with `kBrowserDataMigrationForUser`.
--browser-startup-dialog Causes the browser process to display a dialog on launch.
--browser-subprocess-path Path to the exe to run for the renderer and plugin subprocesses.
--browser-test Tells whether the code is running browser tests (this changes the startup URL used by the content shell and also disables features that can make tests flaky [like monitoring of memory pressure]).
--browser-ui-tests-verify-pixels Causes tests to attempt to verify pixel output.
--bwsi Indicates that the browser is in "browse without sign-in" (Guest session) mode. Should completely disable extensions, sync and bookmarks.
--bypass-app-banner-engagement-checks This flag causes the user engagement checks for showing app banners to be bypassed. It is intended to be used by developers who wish to test that their sites otherwise meet the criteria needed to show app banners.
--bypass-installable-message-throttle-for-testing This flag allow bypassing installable message throttle for testing purpose.
--campaigns-test-tag Switch to control which serving campaigns file versions to select in test cohort. Example: `--campaigns-test-tag=dev1` will select test cohort which tag matches dev1.
--campbell-key Switch used to pass in a secret key for Campbell feature. Unless the correct secret key is provided, Campbell feature will remain disabled, regardless of the state of the associated feature flag.
--canvas-2d-layers Enable in-progress canvas 2d API methods BeginLayer and EndLayer.
--cardboard
--cast-app-background-color Background color used when Chromium hasn't rendered anything yet.
--cast-developer-certificate-path When enabled by build flags, passing this argument allows the Cast authentication utils to use a custom root developer certificate in the trust store instead of the root Google-signed cert.
--cast-initial-screen-height
--cast-initial-screen-width Used to pass initial screen resolution to GPU process. This allows us to set screen size correctly (so no need to resize when first window is created).
--cast-log-device-cert-chain When enabled, prints a PEM-encoded the device certificate chain at VLOG level 3.
--cast-mirroring-target-playout-delay
--cast-mojo-broker-path Command-line arg to change the Unix domain socket path to connect to the Cast Mojo broker.
--cast-streaming-force-disable-hardware-h264
--cast-streaming-force-disable-hardware-vp8
--cast-streaming-force-disable-hardware-vp9
--cast-streaming-force-enable-hardware-h264
--cast-streaming-force-enable-hardware-vp8
--cast-streaming-force-enable-hardware-vp9
--cc-layer-tree-test-long-timeout Increases timeout for memory checkers.
--cc-layer-tree-test-no-timeout Prevents the layer tree unit tests from timing out.
--cc-scroll-animation-duration-in-seconds Controls the duration of the scroll animation curve.
--cdm
--cdm-data-directory
--cdm-data-quota-bytes
--cellular-first If this flag is set, it indicates that this device is a "Cellular First" device. Cellular First devices use cellular telephone data networks as their primary means of connecting to the internet. Setting this flag has two consequences: 1. Cellular data roaming will be enabled by default. 2. UpdateEngine will be instructed to allow auto-updating over cellular data connections.
--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".
--character
--check-accessibility-permission
--check-damage-early Checks damage early and aborts the frame if no damage, so that clients like Android WebView don't invalidate unnecessarily.
--check-for-update-interval How often (in seconds) to check for updates. Should only be used for testing purposes.
--check-permission
--check-screen-recording-permission
--child-wallpaper-large Default large wallpaper to use for kids accounts (as path to trusted, non-user-writable JPEG file).
--child-wallpaper-small Default small wallpaper to use for kids accounts (as path to trusted, non-user-writable JPEG file).
--cipher-suite-blacklist Comma-separated list of SSL cipher suites to disable.
--clamshell Values for the kAshUiMode flag.
--class The same as the --class argument in X applications. Overrides the WM_CLASS window property with the given value.
--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.
--clear-token-service Clears the token service before using it. This allows simulating the expiration of credentials during testing.
--code-sign-clone-cleanup
--compensate-for-unstable-pinch-zoom Enable compensation for unstable pinch zoom. Some touch screens display significant amount of wobble when moving a finger in a straight line. This makes two finger scroll trigger an oscillating pinch zoom. See crbug.com/394380 for details.
--compile-shader-always-succeeds Always return success when compiling a shader. Linking will still fail.
--component-updater Comma-separated options to troubleshoot the component updater. Only valid for the browser process.
--component-updater-trust-tokens-component-path Optional testing override of the Trust Tokens key commitment component's path.
--conch-key Switch used to pass in a secret key for Conch. Unless the correct secret key is provided, Conch feature will remain disabled, regardless of the state of the associated feature flag.
--conditional-focus-window-ms Allows overriding the conditional focus window's length.
--connectivity-check-url Url for network connectivity checking. Default is "https://clients3.google.com/generate_204".
--conservative
--container-app-preinstall-activation-time-threshold The name for the command-line switch used to provide the activation time threshold for the container app. Note that this switch will only be used for testing purposes.
--content-shell-devtools-tab-target Let DevTools front-end talk to the target of type "tab" rather than "frame" when inspecting a WebContents.
--content-shell-hide-toolbar Hides toolbar from content_shell's host window.
--content-shell-host-window-size Size for the content_shell's host window (i.e. "800x600").
--context-provider
--controller
--coral-feature-key Supply secret key for Coral feature.
--cors-exempt-headers
--crash-dumps-dir The directory breakpad should store minidumps in.
--crash-loop-before A time_t. Passed by session_manager into the Chrome user session, indicating that if Chrome crashes before the indicated time, session_manager will consider this to be a crash-loop situation and log the user out. Chrome mostly just passes this to crash_reporter if it crashes.
--crash-on-failure When specified to "enable-leak-detection" command-line option, causes the leak detector to cause immediate crash when found leak.
--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.
--crash-server-pipe-handle
--crash-server-url Server url to upload crash data to. Default is "https://clients2.google.com/cr/report" for prod devices. Default is "https://clients2.google.com/cr/staging_report" for non prod.
--crash-test Causes the browser process to crash on startup.
--crashpad-handler A process type (switches::kProcessType) that indicates chrome.exe or setup.exe is being launched as crashpad_handler. This is only used on Windows. We bundle the handler into chrome.exe on Windows because there is high probability of a "new" .exe being blocked or interfered with by application firewalls, AV software, etc. On other platforms, crashpad_handler is a standalone executable.
--crashpad-handler-pid The process ID of the Crashpad handler.
--create-browser-on-startup-for-tests Some platforms like ChromeOS default to empty desktop. Browser tests may need to add this switch so that at least one browser instance is created on startup. TODO(nkostylev): Investigate if this switch could be removed. (http://crbug.com/148675)
--credits Prints licensing information (same content as found in about:credits) and quits.
--cros-bundled-widevine These flags are passed from ash-chrome to lacros-chrome that correspond to the directories used for the Widevine CDM (the bundled CDM and the Component Updated CDM).
--cros-component-updated-widevine-hint-file
--cros-disks-fake Enables cros disks fake behavior. If the switch is set, fake cros disk D-Bus client is initialized and USB events do not reach chrome.
--cros-postlogin-data-fd FD pointing to an anonymous pipe containing the post-login data.
--cros-postlogin-log-file The path of the log file that Lacros should use post-login.
--cros-region Forces CrOS region value.
--cros-startup-data-fd FD pointing a (memory backed) file containing the startup data.
--crosh-command Custom crosh command.
--cryptauth-http-host Overrides the default URL for Google APIs (https://www.googleapis.com) used by CryptAuth.
--cryptauth-v2-devicesync-http-host Overrides the default URL for CryptAuth v2 DeviceSync: https://cryptauthdevicesync.googleapis.com.
--cryptauth-v2-enrollment-http-host Overrides the default URL for CryptAuth v2 Enrollment: https://cryptauthenrollment.googleapis.com.
--cryptohome-ignore-cleanup-ownership-for-testing Normally the cryptohome without any any authentication factors is considered corrupted. Special mechanism would detect such situation during user creation and remove such users. If such user is an owner the power wash should be triggered instead. However, if such event happens in tests, all logs would be lost, and it would be difficult to investigate exact reason behind the Owner user being misconfigured. This flag prevents triggering powerwash in such cases, simple user removal would be triggered instead.
--cryptohome-recovery-service-base-url Overrides the base url for the Cryptohome recovery service.
--cryptohome-recovery-use-test-env Forces cryptohome recovery process to use test environment (test keys / URLs).
--cryptohome-use-authsession Controls if AuthSession API should be used when interacting with cryptohomed.
--cryptohome-use-old-encryption-for-testing Forces cryptohome to create new users using old (ecryptfs) encryption. This switch can be used to set up configurations that can be used to test encryption migration scenarios.
--custom-android-messages-domain
--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>
--custom_summary Forces a custom summary to be displayed below the update menu item.
--d3d-support
--d3d11
--d3d11-null Special switches for "NULL"/stub driver implementations.
--d3d11on12
--d3d9
--daemon
--dark-mode-settings Sets dark mode settings. Format is [<param>=<value>],[<param>=<value>],... The params take either int or float values. If params are not specified, the default dark mode settings is used. Valid params are given below. "InversionAlgorithm" takes int value of DarkModeInversionAlgorithm enum. "ImagePolicy" takes int value of DarkModeImagePolicy enum. "ForegroundBrightnessThreshold" takes 0 to 255 int value. "BackgroundBrightnessThreshold" takes 0 to 255 int value. "ContrastPercent" takes -1.0 to 1.0 float value. Higher the value, more the contrast.
--data-quota-bytes
--data-url-in-svg-use-enabled Overrides data: URLs in SVGUseElement deprecation through enterprise policy.
--dawn
--dawn-d3d11
--dawn-d3d12
--dawn-metal
--dawn-swiftshader
--dawn-vulkan
--dbus-stub Forces the stub implementation of D-Bus clients. Using stub D-Bus clients is the default for non-Chrome OS environment, to use real D-Bus clients in non-Chrome OS environment, set this flag to "never".
--deadline-to-synchronize-surfaces The default number of the BeginFrames to wait to activate a surface with dependencies.
--debug-bsa Override and enable features useful for BSA library testing/debugging.
--debug-devtools Run devtools tests in debug mode (not bundled and minified)
--debug-packed-apps Adds debugging entries such as Inspect Element to context menus of packed apps.
--debug-print Enables support to debug printing subsystem.
--default
--default-background-color The background color to be used if the page doesn't specify one. Provided as RGB or RGBA integer value in hex, e.g. 'ff0000ff' for red or '00000000' for transparent.
--default-country-code Default country code to be used for search engine localization.
--default-tile-height
--default-tile-width Sets the tile size used by composited layers.
--default-trace-buffer-size-limit-in-kb This is only used when we did not set buffer size in trace config and will be used for all trace sessions. If not provided, we will use the default value provided in perfetto_config.cc
--default-wallpaper-is-oem Indicates that the wallpaper images specified by kAshDefaultWallpaper{Large,Small} are OEM-specific (i.e. they are not downloadable from Google).
--default-wallpaper-large Default large wallpaper to use (as path to trusted, non-user-writable JPEG file).
--default-wallpaper-small Default small wallpaper to use (as path to trusted, non-user-writable JPEG file).
--defer-external-display-timeout Interval in seconds to wait for a display to reconnect while unlocking or logging in with a closed lid.
--defer-feature-list Defer initialization of the base::FeatureList in an external service process, allowing the process to include its own non-default features.
--demo-app-test-tag Switch to control which serving demo mode app versions to select in test cohort. Example: `--demo-app-test-tag=dev1` will select test cohort which tag matches dev1.
--demo-mode-enrolling-username Test Organization Unit (OU) user to use for demo mode. Only pass the part before "@cros-demo-mode.com".
--demo-mode-force-arc-offline-provision Force ARC provision to take code path for offline demo mode.
--demo-mode-highlights-extension App ID to use for highlights app in demo mode.
--demo-mode-resource-directory Directory from which to fetch the demo mode resource content (instead of downloading from Omaha).
--demo-mode-screensaver-extension App ID to use for screensaver app in demo mode.
--demo-mode-swa-content-directory Directory from which to fetch the demo mode SWA content (instead of downloading from Omaha).
--deny-permission-prompts Prevents permission prompts from appearing by denying instead of showing prompts.
--derelict-detection-timeout Time in seconds before a machine at OOBE is considered derelict.
--derelict-idle-timeout Time in seconds before a derelict machines starts demo mode.
--desktop
--desktop-window-1080p When present, desktop cast_shell will create 1080p window (provided display resolution is high enough). Otherwise, cast_shell defaults to 720p.
--dev
--device-management-url Specifies the URL at which to communicate with the device management backend to fetch configuration policies and perform other device tasks.
--device-scale-factor Device scale factor passed to certain processes like renderers, etc.
--devtools-code-coverage Directory to output JavaScript code coverage. When supplied enables coverage in selected browser tests.
--devtools-flags Passes command line parameters to the DevTools front-end.
--diagnostics Triggers a plethora of diagnostic modes.
--diagnostics-format Sets the output format for diagnostic modes enabled by diagnostics flag.
--diagnostics-recovery Tells the diagnostics mode to do the requested recovery step(s).
--direct-composition-video-swap-chain-format Used for overriding the swap chain format for direct composition SDR video overlays.
--direction
--disable
--disable-2d-canvas-clip-aa Disable antialiasing on 2d canvas clips
--disable-2d-canvas-image-chromium Disables Canvas2D rendering into a scanout buffer for overlay support.
--disable-3d-apis Disables client-visible 3D APIs, in particular WebGL and Pepper 3D. 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.
--disable-accelerated-2d-canvas Disable gpu-accelerated 2d canvas.
--disable-accelerated-mjpeg-decode Disable hardware acceleration of mjpeg decode for captured frame, where available.
--disable-accelerated-video-decode Disables hardware acceleration of video decode, where available. Warning: do not remove or rename this flag, as it is used inside ChromeOS code to implement the DeviceHardwareVideoDecodingEnabled policy.
--disable-accelerated-video-encode Disables hardware acceleration of video encode, where available.
--disable-adpf Disables reporting of frame timing via ADPF, even if supported on the device.
--disable-android-native-fence-sync-for-testing On some Android emulators with software GL, ANGLE is exposing the native fence sync extension but it doesn't actually work. This switch is used to disable the Android native fence sync during test to avoid crashes. TODO(https://crbug.com/337886037): Remove this flag once the upstream ANGLE is fixed.
--disable-angle-features Disables specified comma separated ANGLE features if found.
--disable-app-content-verification
--disable-arc-cpu-restriction Prevents any CPU restrictions being set on ARC[VM]. Only meant to be used by tests as some tests may time out if the ARC container is throttled.
--disable-arc-opt-in-verification Disables ARC Opt-in verification process and ARC is enabled by default.
--disable-audio-input Forces input and output stream creation to use fake audio streams.
--disable-audio-output
--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.
--disable-auto-reload Disable auto-reload of error pages.
--disable-auto-wpt-origin-isolation Disables the automatic origin isolation of web platform test domains. We normally origin-isolate them for better test coverage, but tests of opt-in origin isolation need to disable this.
--disable-back-forward-cache Disables the BackForwardCache feature.
--disable-background-media-suspend Do not immediately suspend media in background tabs.
--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.
--disable-background-timer-throttling Disable task throttling of timer tasks from background pages.
--disable-backgrounding-occluded-windows Disable backgrounding renders for occluded windows. Done for tests to avoid nondeterministic behavior.
--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.
--disable-best-effort-tasks Delays execution of TaskPriority::BEST_EFFORT tasks until shutdown.
--disable-birch-weather-api-for-testing Disables the Weather API from being called by Birch. Allows fake users in tast tests to avoid making API calls using an invalid GAIA ID, which causes errors on the weather server side.
--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.
--disable-breakpad Disables the crash reporting.
--disable-cancel-all-touches Disable CancelAllTouches() function for the implementation on cancel single touches.
--disable-canvas-aa Disable antialiasing on 2d canvas.
--disable-checker-imaging Disabled defering all image decodes to the image decode service, ignoring DecodingMode preferences specified on PaintImage.
--disable-checking-optimization-guide-user-permissions
--disable-chrome-tracing-computation Disable the tracing service graph compuation while writing the trace.
--disable-component-extensions-with-background-pages Disable default component extensions with background pages - useful for performance tests where these pages may interfere with perf results.
--disable-component-update
--disable-composited-antialiasing Disables layer-edge anti-aliasing in the compositor.
--disable-crash-reporter Switch to disable Crash reporting
--disable-crashpad-for-testing Disables crashpad initialization for testing. The crashpad binary will not run, and thus will not detect and symbolize crashes.
--disable-crashpad-forwarding Switch to disable Crashpad forwarding
--disable-databases Disables HTML5 DB support.
--disable-dawn-features Set the Dawn features(toggles) disabled on the creation of Dawn devices.
--disable-default-apps Disables installation of default apps on first run. This is used during automated testing.
--disable-demo-mode Disables the Chrome OS demo.
--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).
--disable-device-disabling If this switch is set, the device cannot be remotely disabled by its owner.
--disable-dinosaur-easter-egg Disables the dinosaur easter egg on the offline interstitial.
--disable-disallow-lacros This flag disables "disallow-lacros" above, if both are set together. I.e., if user flips feature flag, or policy is set, lacros can be used, event if --disallow-lacros is set.
--disable-domain-blocking-for-3d-apis Disable the per-domain blocking for 3D APIs after GPU reset. This switch is intended only for tests.
--disable-domain-reliability Disables Domain Reliability Monitoring.
--disable-drive-fs-for-testing Disables DriveFS for testing purposes, used in tast testing and only on test images.
--disable-explicit-dma-fences Disable explicit DMA-fences
--disable-extensions Disable extensions.
--disable-extensions-except Disable extensions except those specified in a comma-separated list.
--disable-extensions-file-access-check
--disable-extensions-http-throttling
--disable-features Comma-separated list of feature names to disable. See also kEnableFeatures.
--disable-fetching-hints-at-navigation-start
--disable-field-trial-config Disable field trial tests configured in fieldtrial_testing_config.json.
--disable-file-system Disable FileSystem API.
--disable-fine-grained-time-zone-detection Disables fine grained time zone detection.
--disable-first-run-ui Disables first-run UI from being shown.
--disable-font-subpixel-positioning Force disables font subpixel positioning. This affects the character glyph sharpness, kerning, hinting and layout.
--disable-frame-rate-limit Disables begin frame limiting in both cc scheduler and display scheduler. Also implies --disable-gpu-vsync (see //ui/gl/gl_switches.h). TODO(ananta/jonross/sunnyps) http://crbug.com/346931323 We should remove or change this once VRR support is implemented for Windows and other platforms potentially.
--disable-gaia-services Disables GAIA services such as enrollment and OAuth session restore. Used by 'fake' telemetry login.
--disable-gesture-requirement-for-presentation Disable user gesture requirement for presentation.
--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.
--disable-gl-error-limit Disable the GL error log limit.
--disable-gl-extensions Disables specified comma separated GL Extensions if found.
--disable-glsl-translator Disable the GLSL translator.
--disable-gpu Disables GPU hardware acceleration. If software renderer is not in place, then the GPU process won't launch.
--disable-gpu-compositing Prevent the compositor from using its GPU implementation.
--disable-gpu-driver-bug-workarounds Disable workarounds for various GPU driver bugs.
--disable-gpu-early-init Disable proactive early init of GPU process.
--disable-gpu-memory-buffer-compositor-resources Do not force that all compositor resources be backed by GPU memory buffers.
--disable-gpu-memory-buffer-video-frames Disable GpuMemoryBuffer backed VideoFrames.
--disable-gpu-process-crash-limit For tests, to disable the limit on the number of times the GPU process may be restarted.
--disable-gpu-process-for-dx12-info-collection Disables the non-sandboxed GPU process for DX12 info collection
--disable-gpu-program-cache Turn off gpu program caching
--disable-gpu-rasterization Disable GPU rasterization, i.e. rasterize on the CPU only. Overrides the kEnableGpuRasterization flag.
--disable-gpu-sandbox Disables the GPU process sandbox.
--disable-gpu-shader-disk-cache Disables the GPU shader on disk cache.
--disable-gpu-vsync Stop the GPU from synchronizing presentation with vblank.
--disable-gpu-watchdog Disable the thread that crashes the GPU process if it stops responding to messages.
--disable-hang-monitor Suppresses hang monitor dialogs in renderer processes. This may allow slow unload handlers on a page to prevent the tab from closing, but the Task Manager can be used to terminate the offending process in this case.
--disable-headless-mode Disables the shell from beginning in headless mode. Tests will then attempt to use the hardware GPU for rendering. This is only followed when kRunWebTests is set.
--disable-hid-blocklist Disable the HID blocklist.
--disable-hid-detection-on-oobe Disables HID-detection OOBE screen.
--disable-highres-timer Disable high-resolution timer on Windows.
--disable-histogram-customizer Disable the RenderThread's HistogramCustomizer.
--disable-image-animation-resync Disallow image animations to be reset to the beginning to avoid skipping many frames. Only effective if compositor image animations are enabled.
--disable-in-process-stack-traces Disables the in-process stack traces.
--disable-input-event-activation-protection Disables the disregarding of potentially unintended input events such as button clicks that happen instantly after the button is shown. Use this for integration tests that do automated clicks etc.
--disable-ios-password-suggestions Disable showing available password credentials in the keyboard accessory view when focused on form fields.
--disable-ip-privacy-proxy
--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.
--disable-javascript-harmony-shipping Disable latest shipping ECMAScript 6 features.
--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.
--disable-lacros-keep-alive Disables the Lacros keep alive for testing.
--disable-layer-tree-host-memory-pressure Disables LayerTreeHost::OnMemoryPressure
--disable-lazy-loading Disables lazy loading of images and frames.
--disable-lcd-text Disables LCD text.
--disable-legacy-window Disable the Legacy Window which corresponds to the size of the WebContents.
--disable-libassistant-logfile
--disable-local-storage Disable LocalStorage.
--disable-logging Force logging to be disabled. Logging is enabled by default in debug builds.
--disable-logging-redirect Disables logging redirect for testing.
--disable-login-animations Avoid doing expensive animations upon login.
--disable-login-lacros-opening If Lacros is set to the primary web browser, on session login, it is automatically launched. This disables the feature, i.e., if this flag is set, even if lacros is the primary web browser, it won't automatically launch on session login. This is for testing purpose, specifically for Tast.
--disable-login-screen-apps Disables apps on the login screen. By default, they are allowed and can be installed through policy.
--disable-low-end-device-mode Force disabling of low-end device mode when set.
--disable-low-latency-dxva Disables using CODECAPI_AVLowLatencyMode when creating DXVA decoders.
--disable-low-res-tiling When using CPU rasterizing disable low resolution tiling. This uses less power, particularly during animations, but more white may be seen during fast scrolling especially on slower devices.
--disable-machine-cert-request Disables requests for an enterprise machine certificate during attestation.
--disable-main-frame-before-activation Disables sending the next BeginMainFrame before the previous commit activates. Overrides the kEnableMainFrameBeforeActivation flag.
--disable-media-session-api Disable Media Session API
--disable-metal-shader-cache Disables Metal's shader cache, using the GPU sandbox to prevent access to it.
--disable-mipmap-generation Disables mipmap generation in Skia. Used a workaround for select low memory devices, see https://crbug.com/1138979 for details.
--disable-modal-animations Disable animations for showing and hiding modal dialogs.
--disable-model-download-verification
--disable-mojo-broker Disables Mojo broker capabilities in the browser during Mojo initialization.
--disable-mojo-renderer Rather than use the renderer hosted remotely in the media service, fall back to the default renderer within content_renderer. Does not change the behavior of the media service.
--disable-nacl Disables NaCl. If kEnableNaCl is also set, this switch takes precedence.
--disable-namespace-sandbox Disables usage of the namespace sandbox.
--disable-new-content-rendering-timeout Disables clearing the rendering output of a renderer when it didn't commit new output for a while after a top-frame navigation.
--disable-notifications Disables the Web Notification and the Push APIs.
--disable-nv12-dxgi-video Disables the video decoder from drawing to an NV12 textures instead of ARGB.
--disable-oobe-chromevox-hint-timer-for-testing Disables the ChromeVox hint idle detection in OOBE, which can lead to unexpected behavior during tests.
--disable-oobe-network-screen-skipping-for-testing Disables network screen skip check which is based on ethernet connection.
--disable-oopr-debug-crash-dump Disables debug crash dumps for OOPR.
--disable-origin-trial-controlled-blink-features Disables all RuntimeEnabledFeatures that can be enabled via OriginTrials.
--disable-overscroll-edge-effect Disable overscroll edge effects like those found in Android views.
--disable-partial-raster Disable partial raster in the renderer. Disabling this switch also disables the use of persistent gpu memory buffers.
--disable-partitioned-cookies
--disable-pdf-tagging Do not emit tags when printing PDFs.
--disable-pepper-3d Disable Pepper3D.
--disable-per-user-timezone Disables per-user timezone.
--disable-pinch Disables compositor-accelerated touch-screen pinch gestures.
--disable-pnacl-crash-throttling Disables crash throttling for Portable Native Client.
--disable-policy-key-verification Disables the verification of policy signing keys. It just works on Chrome OS test images and crashes otherwise. TODO(crbug.com/1225054): This flag might introduce security risks. Find a better solution to enable policy tast test for Family Link account.
--disable-popup-blocking Disables pop-up blocking.
--disable-prefer-compositing-to-lcd-text Disable the creation of compositing layers when it would prevent LCD text.
--disable-presentation-api Disables the Presentation API.
--disable-print-preview Disables print preview (For testing, and for users who don't like us. :[ )
--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.
--disable-pull-to-refresh-effect Disable the pull-to-refresh effect when vertically overscrolling content.
--disable-pushstate-throttle Disables throttling of history.pushState/replaceState calls.
--disable-reading-from-canvas Taints all <canvas> elements, regardless of origin.
--disable-remote-fonts Disables remote web font support. SVG font should always work whether this option is specified or not.
--disable-remote-playback-api Disables the RemotePlayback API.
--disable-renderer-accessibility Turns off the accessibility in the renderer.
--disable-renderer-backgrounding Prevent renderer process backgrounding when set.
--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.
--disable-rgba-4444-textures Disables RGBA_4444 textures.
--disable-rollback-option Disables rollback option on reset screen.
--disable-rtc-smoothness-algorithm Disables the new rendering algorithm for webrtc, which is designed to improve the rendering smoothness.
--disable-screen-orientation-lock Disable the locking feature of the screen orientation API.
--disable-scroll-to-text-fragment This switch disables the ScrollToTextFragment feature.
--disable-search-engine-choice-screen
--disable-seccomp-filter-sandbox Disable the seccomp filter sandbox (seccomp-bpf) (Linux only).
--disable-setuid-sandbox Disable the setuid sandbox (Linux only).
--disable-shader-name-hashing Turn off user-defined name hashing in shaders.
--disable-shared-workers Disable shared workers.
--disable-signin-frame-client-certs Disables client certificate authentication on the sign-in frame on the Chrome OS sign-in profile. TODO(crbug.com/41389560): Remove this flag when reaching endpoints that request client certs does not hang anymore when there is no system token yet.
--disable-site-isolation-for-policy Just like kDisableSiteIsolation, but doesn't show the "stability and security will suffer" butter bar warning.
--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.
--disable-skia-graphite Force disabling/enabling Skia Graphite. Disabling will take precedence over enabling if both are specified.
--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.
--disable-smooth-scrolling Disable smooth scrolling for testing.
--disable-software-compositing-fallback For tests, to disable falling back to software compositing if the GPU Process has crashed, and reached the GPU Process crash limit.
--disable-software-rasterizer Disables the use of a 3D software rasterizer.
--disable-speech-api Disables the Web Speech API (both speech recognition and synthesis).
--disable-speech-synthesis-api Disables the speech synthesis part of Web Speech API.
--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.
--disable-system-font-check Disables the check for the system font when specified.
--disable-third-party-keyboard-workaround Disables the 3rd party keyboard omnibox workaround.
--disable-threaded-animation
--disable-threaded-compositing Disable multithreaded GPU compositing of web content.
--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).
--disable-touch-drag-drop Disables touch event based drag and drop.
--disable-usb-keyboard-detect Disables the USB keyboard detection for blocking the OSK on Windows.
--disable-v8-idle-tasks Disable V8 idle tasks.
--disable-variations-safe-mode Disable variations safe mode.
--disable-variations-seed-fetch-throttling Disables throttling for fetching the variations seed on mobile platforms. The seed will be fetched on startup and every time the app enters the foreground, regardless of the time passed in between the fetches. On Desktop, this switch has no effect (the seed is fetched periodically instead).
--disable-video-capture-use-gpu-memory-buffer This is for the same feature controlled by kVideoCaptureUseGpuMemoryBuffer. kVideoCaptureUseGpuMemoryBuffer is settled by chromeos overlays. This flag is necessary to overwrite the settings via chrome:// flag. The behavior of chrome://flag#zero-copy-video-capture is as follows; Default : Respect chromeos overlays settings. Enabled : Force to enable kVideoCaptureUseGpuMemoryBuffer. Disabled : Force to disable kVideoCaptureUseGpuMemoryBuffer.
--disable-virtual-keyboard
--disable-volume-adjust-sound Disables volume adjust sound.
--disable-vsync-for-tests
--disable-vulkan-fallback-to-gl-for-testing Disables falling back to GL based hardware rendering if initializing Vulkan fails. This is to allow tests to catch regressions in Vulkan.
--disable-vulkan-for-tests
--disable-vulkan-surface Disables VK_KHR_surface extension. Instead of using swapchain, bitblt will be used for present render result on screen.
--disable-wayland-ime Disable wayland input method editor.
--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.
--disable-webgl Disable all versions of WebGL.
--disable-webgl-image-chromium Disables WebGL rendering into a scanout buffer for overlay support.
--disable-webgl2 Disable WebGL2.
--disable-webrtc-encryption Disables encryption of RTP Media for WebRTC. When Chrome embeds Content, it ignores this switch on its stable and beta channels.
--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.
--disable-zero-browsers-open-for-tests Some tests seem to require the application to close when the last browser window is closed. Thus, we need a switch to force this behavior for ChromeOS Aura, disable "zero window mode". TODO(pkotwicz): Investigate if this bug can be removed. (http://crbug.com/119175)
--disable-zero-copy Disable rasterizer that writes directly to GPU memory associated with tiles.
--disable-zero-copy-dxgi-video Disable the video decoder from drawing directly to a texture.
--disabled
--disallow-lacros This flag is set if lacros is not allowed. Specifically this flag is set if there are more than two signed in users i.e. inside multi-user session.
--disallow-non-exact-resource-reuse Disable re-use of non-exact resources to fulfill ResourcePool requests. Intended only for use in layout or pixel tests to reduce noise.
--disallow-policy-block-dev-mode Disallow blocking developer mode through enterprise device policy: - Fail enterprise enrollment if enrolling would block dev mode. - Don't apply new device policy if it would block dev mode. This is only usable on test builds.
--discoverability
--disk-cache-dir Use a specific disk cache location, rather than one derived from the UserDatadir.
--disk-cache-size Forces the maximum disk space to be used by the disk cache, in bytes.
--display Which X11 display to connect to. Emulates the GTK+ "--display=" command line argument. In use only with Ozone/X11.
--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.
--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".
--document-user-activation-required Autoplay policy that requires a document user activation.
--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.
--double-buffer-compositing Sets the number of max pending frames in the GL buffer queue to 1.
--draw-quad-split-limit Sets the maximum number (exclusive) of quads one draw quad can be split into during occlusion culling.
--draw-view-bounds-rects Draws a semitransparent rect to indicate the bounds of each view.
--drm-virtual-connector-is-external Treats DRM virtual connector as external to enable display mode change in VM.
--dump-blink-runtime-call-stats Logs Runtime Call Stats. --single-process also needs to be used along with this for the stats to be logged.
--dump-browser-histograms Requests that a running browser process dump its collected histograms to a given file. The file is overwritten if it exists.
--dump-dom Print the serialized DOM (doctype + document.documentElement.outerHTML) to stdout.
--dumpstate-path Switch to dumpstate binary path.
--edge-touch-filtering Tells Chrome to do edge touch filtering. Useful for convertible tablet.
--egl
--elevate
--embedded-extension-options
--enable
--enable-accelerated-2d-canvas Enable accelerated 2D canvas.
--enable-adaptive-selection-handle-orientation Enable inverting of selection handles so that they are not clipped by the viewport boundaries.
--enable-aggressive-domstorage-flushing Enable the aggressive flushing of DOM Storage to minimize data loss.
--enable-angle-features ANGLE features are defined per-backend in third_party/angle/include/platform Enables specified comma separated ANGLE features if found.
--enable-arc DEPRECATED. Please use --arc-availability=officially-supported. Enables starting the ARC instance upon session start.
--enable-arcvm Enables ARCVM.
--enable-arcvm-rt-vcpu Enables ARCVM realtime VCPU feature.
--enable-ash-debug-browser Adds ash-browser back to launcher, even if in LacrosOnly mode.
--enable-audio-debug-recordings-from-extension If the WebRTC logging private API is active, enables audio debug recordings.
--enable-auto-reload Enable auto-reload of error pages.
--enable-automation Enable indication that browser is controlled by automation.
--enable-background-thread-pool Enable the use of background thread priorities for background tasks in the ThreadPool even on systems where it is disabled by default, e.g. due to concerns about priority inversions.
--enable-background-tracing Enables background tracing by passing a scenarios config as an argument. The config is a serialized proto `perfetto.protos.ChromeFieldTracingConfig` defined in third_party/perfetto/protos/perfetto/config/chrome/scenario_config.proto. protoc can be used to generate a serialized proto config with protoc --encode=perfetto.protos.ChromeFieldTracingConfig --proto_path=third_party/perfetto/ third_party/perfetto/protos/perfetto/config/chrome/scenario_config.proto < {input txt config}.pbtxt > {output proto config}.pb
--enable-benchmarking TODO(asvitkine): Consider removing or renaming this functionality. Enables the benchmarking extensions.
--enable-birch-weather-api-for-testing-override Used to override `kDisableBirchWeatherApiForTesting` for specific tast tests.
--enable-ble-advertising-in-apps
--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.
--enable-blink-test-features Enables blink runtime enabled features with status:"test" or status:"experimental", which are enabled when running web tests.
--enable-bookmark-undo Enables the multi-level undo system for bookmarks.
--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.
--enable-cast-receiver Enables the Cast Receiver.
--enable-cast-streaming-receiver
--enable-chrome-browser-cloud-management Enables the Chrome Browser Cloud Management integration on Chromium builds. CBCM is always enabled in branded builds.
--enable-cloud-print-proxy This applies only when the process type is "service". Enables the Cloud Print Proxy component within the service process.
--enable-content-directories
--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.
--enable-crash-reporter-for-testing Used for turning on Breakpad crash reporting in a debug environment where crash reporting is typically compiled but disabled.
--enable-crx-hash-check
--enable-dawn-backend-validation Enable validation layers in Dawn backends.
--enable-dawn-features Set the Dawn features(toggles) enabled on the creation of Dawn devices.
--enable-dim-shelf Enables Shelf Dimming for ChromeOS.
--enable-dinosaur-easter-egg-alt-images Enable the dinosaur easter egg alternative images.
--enable-direct-composition-video-overlays Enables using DirectComposition video overlays, even if hardware overlays aren't supported.
--enable-discover-feed Enabled the NTP Discover feed.
--enable-distillability-service
--enable-dom-distiller
--enable-domain-reliability Enables Domain Reliability Monitoring.
--enable-download-warning-improvements Enables a number of UI improvements to downloads, download scanning, and download warnings.
--enable-encryption-selection Enables the feature of allowing the user to disable the backend via a setting.
--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.
--enable-experimental-accessibility-autoclick Shows additional automatic click features that haven't launched yet.
--enable-experimental-accessibility-labels-debugging Enables support for visually debugging the accessibility labels feature, which provides images descriptions for screen reader users.
--enable-experimental-accessibility-language-detection Enables language detection on in-page text content which is then exposed to assistive technology such as screen readers.
--enable-experimental-accessibility-language-detection-dynamic Enables language detection for dynamic content which is then exposed to assistive technology such as screen readers.
--enable-experimental-accessibility-manifest-v3 Switches accessibility extensions to use extensions manifest v3 while the migration is still in progress.
--enable-experimental-accessibility-switch-access-text Enables in progress Switch Access features for text input.
--enable-experimental-cookie-features Flag that turns on a group of experimental/newly added cookie-related features together, as a convenience for e.g. testing, to avoid having to set multiple switches individually which may be error-prone (not to mention tedious). There is not a corresponding switch to disable all these features, because that is discouraged, and for testing purposes you'd need to switch them off individually to identify the problematic feature anyway. At present this turns on: net::features::kSameSiteDefaultChecksMethodRigorously net::features::kSchemefulSameSite net::features::kCookieSameSiteConsidersRedirectChain
--enable-experimental-extension-apis
--enable-experimental-web-platform-features Enables Web Platform features that are in development.
--enable-experimental-webassembly-features Enables experimental WebAssembly features.
--enable-extension-activity-log-testing
--enable-extension-activity-logging Enables logging for extension activity.
--enable-extension-assets-sharing Enables sharing assets for installed default apps.
--enable-features Comma-separated list of feature names to enable. See also kDisableFeatures.
--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.
--enable-finch-seed-delta-compression Enables delta-compression when fetching a new seed via the "first run" code path on Android.
--enable-font-antialiasing Enable font antialiasing for pixel tests.
--enable-gamepad-button-axis-events Enables gamepadbuttondown, gamepadbuttonup, gamepadbuttonchange, gamepadaxismove non-standard gamepad events.
--enable-gpu-benchmarking Enables the GPU benchmarking extension
--enable-gpu-blocked-time Enables measures of how long GPU Main Thread was blocked between SwapBuffers
--enable-gpu-client-logging Enable GPU client logging.
--enable-gpu-client-tracing Enables TRACE for GL calls in the renderer.
--enable-gpu-command-logging Turn on Logging GPU commands.
--enable-gpu-debugging Turn on Calling GL Error after every command.
--enable-gpu-driver-debug-logging Enable logging of GPU driver debug messages.
--enable-gpu-main-time-keeper-metrics Enables ThreadControllerWithMessagePumpImpl's TimeKeeper UMA metrics using CrGpuMain as suffix.
--enable-gpu-memory-buffer-compositor-resources Specify that all compositor resources should be backed by GPU memory buffers.
--enable-gpu-memory-buffer-video-frames Enable GpuMemoryBuffer backed VideoFrames.
--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.
--enable-gpu-service-logging Turns on GPU logging (debug build only).
--enable-gpu-service-tracing Turns on calling TRACE for every GL call.
--enable-hangout-services-extension-for-testing Force enabling HangoutServicesExtension.
--enable-hardware-overlays Enable compositing individual elements via hardware overlays when permitted by device. Setting the flag to "single-fullscreen" will try to promote a single fullscreen overlay and use it as main framebuffer where possible.
--enable-houdini Enables the use of 32-bit Houdini library for ARM binary translation.
--enable-houdini-dlc Enables the use of Houdini DLC library for ARM binary translation. This is independent of choosing between the 32-bit vs 64-bit Houdini library. Houdini DLC library will be downloaded and installed at run-time instead of at build time.
--enable-houdini64 Enables the use of 64-bit Houdini library for ARM binary translation.
--enable-idle-tracing Adds additional thread idle time information into the trace event output.
--enable-input Enables input event handling by the window manager.
--enable-ios-handoff-to-other-devices Enables support for Handoff from Chrome on iOS to the default browser of other Apple devices.
--enable-isolated-web-apps-in-renderer Enables Isolated Web Apps (IWAs) in a renderer process. There are two ways to enable the IWAs: by feature flag and by enterprise policy. If IWAs are enabled by any of the mentioned above ways then this flag is passed to the renderer process. This flag should not be used from command line. To enable IWAs from command line one should use kIsolatedWebApps feature flag.
--enable-lacros-for-testing This flag is a replacement for `features::kLacrosOnly` during the in-between phase where users should not be able to enable Lacros but developers should for debugging. Just like `features::kLacrosOnly`, passing the flag alone does not guarantee that Lacros is enabled and other conditions like whether Lacros is allowed to be enabled i.e. `standalone_browser::BrowserSupport::IsAllowed()` still apply.
--enable-lcd-text Enables LCD text.
--enable-leak-detection Enables the leak detection of loading webpages. This allows us to check whether or not reloading a webpage releases web-related objects correctly.
--enable-leak-detection-heap-snapshot Enables taking a heap snapshot and dumping it to file when using leak detection.
--enable-legacy-background-tracing Enables background tracing by passing legacy trigger rules as an argument.
--enable-live-caption-pref-for-testing Sets the default value for the kLiveCaptionEnabled preference to true.
--enable-local-file-accesses Enable file accesses. It should not be enabled for most Cast devices.
--enable-logging Force logging to be enabled. Logging is disabled by default in release builds.
--enable-longpress-drag-selection Enable drag manipulation of longpress-triggered text selections.
--enable-low-end-device-mode Force low-end device mode when set.
--enable-low-res-tiling When using CPU rasterizing generate low resolution tiling. Low res tiles may be displayed during fast scrolls especially on slower devices.
--enable-magnifier-debug-draw-rect Enables debug feature for drawing rectangle around magnified region, without zooming in.
--enable-main-frame-before-activation Enables sending the next BeginMainFrame before the previous commit activates.
--enable-model-quality-dogfood-logging Enables model quality logs regardless of other client-side settings, as long as the client is a dogfood client.
--enable-nacl Allows NaCl to run in all contexts (such as open web). Note that kDisableNaCl disables NaCl in all contexts and takes precedence.
--enable-nacl-debug Enables debugging via RSP over a socket.
--enable-native-gpu-memory-buffers Enable native CPU-mappable GPU memory buffer support on Linux.
--enable-natural-scroll-default Enables natural scroll by default.
--enable-ndk-translation Enables the use of 32-bit NDK translation library for ARM binary translation.
--enable-ndk-translation64 Enables the use of 64-bit NDK translation library for ARM binary translation.
--enable-net-benchmarking Enables the network-related benchmarking extensions.
--enable-network-information-downlink-max Enables the type, downlinkMax attributes of the NetInfo API. Also, enables triggering of change attribute of the NetInfo API when there is a change in the connection type.
--enable-new-app-menu-icon
--enable-ntp-search-engine-country-detection Enables using the default search engine country to show country specific popular sites on the NTP.
--enable-oobe-chromevox-hint-timer-for-dev-mode Enables the ChromeVox hint in OOBE for dev mode. This flag is used to override the default dev mode behavior of disabling the feature. If both kEnableOOBEChromeVoxHintForDevMode and kDisableOOBEChromeVoxHintTimerForTesting are present, the ChromeVox hint will be disabled, since the latter flag takes precedence over the former.
--enable-oobe-test-api Enables OOBE testing API for tast tests.
--enable-optimization-guide-debug-logs
--enable-page-content-annotations-logging
--enable-pepper-testing Enables the testing interface for PPAPI.
--enable-pixel-output-in-tests Forces tests to produce pixel output when they normally wouldn't.
--enable-plugin-placeholder-testing Enables testing features of the Plugin Placeholder. For internal use only.
--enable-potentially-annoying-security-features Enables a number of potentially annoying security features (strict mixed content mode, powerful feature restrictions, etc.)
--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.
--enable-prefer-compositing-to-lcd-text Enable the creation of compositing layers when it would prevent LCD text.
--enable-primary-node-access-for-vkms-testing This is needed for V4L2 testing using VISL (virtual driver) on cros VM with arm64-generic-vm. Minigbm buffer allocation is done using dumb driver with vkms.
--enable-privacy-sandbox-ads-apis Enables Privacy Sandbox APIs: Attribution Reporting, Fledge, Topics, Fenced Frames, Shared Storage, Private Aggregation, and their associated features.
--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.
--enable-promo-manager-fullscreen-promos Enables the Promo Manager to display full-screen promos on app startup.
--enable-protected-video-buffers Enables protected buffers for encrypted video streams.
--enable-raster-side-dark-mode-for-images Enables raster side dark mode for images.
--enable-requisition-edits Enables configuring the OEM Device Requisition in the OOBE.
--enable-resources-file-sharing Enable resources file sharing with ash-chrome. This flag is enabled when feature::kLacrosResourcesFileSharing is set and ash-side operation is successfully done.
--enable-rgba-4444-textures Enables RGBA_4444 textures.
--enable-sandbox-logging Cause the OS X sandbox write to syslog every time an access to a resource is denied by the sandbox.
--enable-scaling-clipped-images Allows scaling clipped images in GpuImageDecodeCache. Note that this may cause color-bleeding. TODO(crbug.com/40160880): Remove this workaround flag once the underlying cache problems are solved.
--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.
--enable-service-manager-tracing Enable the tracing service.
--enable-sgi-video-sync Enable use of the SGI_video_sync extension, which can have driver/sandbox/window manager compatibility issues.
--enable-share-button-unbranded Enables Password Sharing button in password details UI in settings when running unbranded builds.
--enable-skia-benchmarking Enables the Skia benchmarking extension.
--enable-skia-graphite
--enable-smooth-scrolling On platforms that support it, enables smooth scroll animation.
--enable-spatial-navigation Enable spatial navigation
--enable-speech-dispatcher TODO(crbug.com/40118868): Revisit the macro expression once build flag switch of lacros-chrome is complete. 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.
--enable-spotlight-actions Enables the Spotlight actions.
--enable-stats-collection-bindings Specifies if the |StatsCollectionController| 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 running a test that needs to access the provided statistics.
--enable-strict-mixed-content-checking Blocks all insecure requests from secure contexts, and prevents the user from overriding that decision.
--enable-strict-powerful-feature-restrictions Blocks insecure usage of a number of powerful features (device orientation, for example) that we haven't yet deprecated for the web at large.
--enable-swap-buffers-with-bounds Enables SwapBuffersWithBounds if it is supported.
--enable-tablet-form-factor Enables tablet form factor.
--enable-third-party-keyboard-workaround Enables the 3rd party keyboard omnibox workaround.
--enable-threaded-texture-mailboxes Simulates shared textures when share groups are not available. Not available everywhere.
--enable-top-drag-gesture Whether to enable detection and dispatch of a 'drag from the top' gesture.
--enable-touch-calibration-setting Enables the touch calibration option in MD settings UI for valid touch displays.
--enable-touch-drag-drop Enables touch event based drag and drop.
--enable-touchpad-three-finger-click Enables touchpad three-finger-click as middle button.
--enable-touchview If the flag is present, it indicates 1) the device has accelerometer and 2) the device is a convertible device or a tablet device (thus is capable of entering tablet mode). If this flag is not set, then the device is not capable of entering tablet mode. For example, Samus has accelerometer, but is not a covertible or tablet, thus doesn't have this flag set, thus can't enter tablet mode.
--enable-trace-app-source
--enable-tracing
--enable-tracing-format
--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.
--enable-tracing-output Similar to the flag above, with the following differences: - A more detailed basename will be generated. - If the value is empty or ends with path separator, the provided directory will be used (with empty standing for current directory) and a detailed basename file will be generated. It is ignored if --trace-startup-file is specified.
--enable-ui-devtools Enables DevTools server for UI (mus, ash, etc). Value should be the port the server is started on. Default port is 9223.
--enable-unsafe-extension-debugging Enables installing/uninstalling extensions at runtime via Chrome DevTools Protocol if the protocol client is connected over --remote-debugging-pipe.
--enable-unsafe-webgpu
--enable-upgrade-signin-promo Enables the upgrade sign-in promo.
--enable-user-metrics Enable user metrics from within the installer.
--enable-usermedia-screen-capturing Enable screen capturing support for MediaStream API.
--enable-utempter
--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.
--enable-virtual-keyboard
--enable-vtune-support Enable the Vtune profiler support.
--enable-vulkan-protected-memory Enables using protected memory for vulkan resources.
--enable-wayland-ime Try to enable wayland input method editor.
--enable-wayland-server Enable the wayland server.
--enable-web-auth-deprecated-mojo-testing-api Enable the WebAuthn Mojo Testing API. This is a way to interact with the virtual authenticator environment through a mojo interface and is supported only to run web-platform-tests on content shell. Removal of this deprecated API is blocked on crbug.com/937369.
--enable-webgl-developer-extensions Enables WebGL developer extensions which are not generally exposed to the web platform.
--enable-webgl-draft-extensions Enables WebGL extensions not yet approved by the community.
--enable-webgl-image-chromium Enables WebGL rendering into a scanout buffer for overlay support.
--enable-webgpu-developer-features Enables WebGPU developer features which are not generally exposed to the web platform.
--enable-webrtc-srtp-encrypted-headers Enables negotiation of encrypted header extensions from RFC 6904 for SRTP in WebRTC. See https://tools.ietf.org/html/rfc6904 for further information. TODO(crbug.com/40623740): Remove this.
--enable-widevine
--enable-zero-copy Enable rasterizer that writes directly to GPU memory associated with tiles.
--enabled
--encode-binary Encode binary web test results (images, audio) using base64.
--encrypted-reporting-url Specifies the URL at which to upload encrypted reports.
--enforce
--enforce-gl-minimums Enforce GL minimums.
--enforce-webrtc-ip-permission-check Enforce IP Permission check. TODO(guoweis): Remove this once the feature is not under finch and becomes the default.
--enforce_strict
--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.
--enterprise-disable-arc Disables ARC for managed accounts.
--enterprise-enable-forced-re-enrollment Whether to enable forced enterprise re-enrollment.
--enterprise-enable-forced-re-enrollment-on-flex Whether to enable forced enterprise re-enrollment on Flex.
--enterprise-enable-initial-enrollment Whether to enable initial enterprise enrollment.
--enterprise-enable-unified-state-determination Whether to enable unified state determination.
--enterprise-enable-zero-touch-enrollment Enables the zero-touch enterprise enrollment flow.
--enterprise-enrollment-initial-modulus Power of the power-of-2 initial modulus that will be used by the auto-enrollment client. E.g. "4" means the modulus will be 2^4 = 16.
--enterprise-enrollment-modulus-limit Power of the power-of-2 maximum modulus that will be used by the auto-enrollment client.
--enterprise-force-manual-enrollment-in-test-builds Whether to force manual enrollment instead of trying cert based enrollment. Only works on test builds.
--eol-ignore-profile-creation-time Ignore the profile creation time when determining whether to show the end of life notification incentive. This is meant to make manual testing easier.
--eol-reset-dismissed-prefs Reset the end of life notification prefs to their default value, at the start of the user session. This is meant to make manual testing easier.
--evaluate-type
--evaluate_capability
--explicitly-allowed-ports Allows overriding the list of restricted ports by passing a comma-separated list of port numbers.
--export-uma-logs-to-file Enables the observing of all UMA logs created during the session and automatically exports them to the passed file path on shutdown (the file is created if it does not already exist). This also enables viewing all UMA logs in the chrome://metrics-internals debug page. The format of the exported file is outlined in MetricsServiceObserver::ExportLogsAsJson(). Example usage: --export-uma-logs-to-file=/tmp/logs.json
--expose-internals-for-testing Exposes the window.internals object to JavaScript for interactive development and debugging of web tests that rely on it.
--extension-apps-block-for-app-service-in-ash If set, it passes the ids of the extension apps blocked for app service in ash when lacros is enabled. The ids are separated by ",". This should only used for testing.
--extension-apps-run-in-ash-and-lacros If set, it passes the ids of additional extension apps allowed to run in in both ash and lacros when lacros is enabled. The ids are separated by ",". This should only used for testing. Note: The ids passed to this switch and the ids passed to kExtensionAppsRunInAshOnly should be mutually exclusive, i.e., without overlaps. If any extension app passed to this switch are to be publisedh to app service, it must be listed in one of the app service block switches so that it won't be published to app service in both ash and lacros. Currently, we only have the use case of an extension app running in both ash and lacros to be published to app service in lacros only, therefore, we only add the kExtensionAppsBlockForAppServiceInAsh switch.
--extension-apps-run-in-ash-only If set, it passes the ids of the additional extension apps allowed to run in ash only when lacros is enabled. The ids are separated by ",". This should only used for testing.
--extension-content-verification Name of the command line flag to force content verification to be on in one of various modes.
--extension-force-channel
--extension-install-event-chrome-log-for-tests Write extension install events to chrome log for integration test.
--extension-process
--extension-updater-test-request
--extensions-install-verification Turns on extension install verification if it would not otherwise have been turned on.
--extensions-not-webstore Specifies a comma-separated list of extension ids that should be forced to be treated as not from the webstore when doing install verification.
--extensions-on-chrome-urls
--extensions-run-in-ash-and-lacros If set, it passes the ids of additional extensions allowed to run in both ash and lacros when lacros is enabled. The ids are separated by ",". This should only used for testing. Note: The ids passed to this switch and the ids passed to kExtensionsRunInAshOnly should be mutually exclusive, i.e., without overlaps. If any extension passed to this switch are to be published to app service, it must be listed in one of the app service block switches so that it won't be published to app service in both ash and lacros. Currently, we don't have any use case with an extension running in both ash and lacros to be published to app service, therefore, we haven't defined the app service block switch for extensions.
--extensions-run-in-ash-only If set, it passes the ids of the additional extensions allowed to run in ash only when lacros is enabled. The ids are separated by ",". This should only used for testing.
--extensions-toolbar-zero-state-explore-extensions-by-category This variation of the Zero State extensions toolbar recommendation suggests extension categories the user can explore in the Chrome Web Store. (e.g. find coupons, increase productivity)
--extensions-toolbar-zero-state-single-web-store-link This variation of the Zero State extensions toolbar recommendation presents the user with a single link to the Chrome Web Store home page.
--extensions-toolbar-zero-state-variation Specifies the variation of Zero State extensions toolbar recommendation to show. When a user with zero extensions installed clicks on the extensions puzzle piece in the Chrome toolbar, Chrome displays a submenu suggesting the user to explore the Chrome Web Store.
--external-metrics-collection-interval Interval in seconds between Chrome reading external metrics from /var/lib/metrics/uma-events.
--extra-search-query-params
--extra-web-apps-dir Name of a subdirectory of the main external web apps directory which additional web apps configs should be loaded from. Used to load device-specific web apps.
--fail-audio-stream-creation Causes the AudioManager to fail creating audio streams. Used when testing various failure cases.
--fake-arc-recommended-apps-for-testing Specifies number of recommended (fake) ARC apps during user onboarding. App descriptions are generated locally instead of being fetched from server. Limited to ChromeOS-on-linux and test images only.
--fake-drivefs-launcher-chroot-path An absolute path to the chroot hosting the DriveFS to use. This is only used when running on Linux, i.e. when IsRunningOnChromeOS() returns false.
--fake-drivefs-launcher-socket-path A relative path to socket to communicat with the fake DriveFS launcher within the chroot specified by kFakeDriveFsLauncherChrootPath. This is only used when running on Linux, i.e. when IsRunningOnChromeOS() returns false.
--fake-oobe-configuration-file Path to a OOBE configuration JSON file (used by FakeOobeConfigurationClient).
--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.
--false Value indicating whether flag from command line switch is false.
--feedback-server Alternative feedback server to use when submitting user feedback
--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.
--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.
--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.
--file_chooser
--finch-seed-expiration-age The length of time in seconds that an app's copy of the variations seed should be considered fresh. If an app's seed is older than this, a new seed will be requested from WebView's IVariationsSeedServer.
--finch-seed-ignore-pending-download Forces WebView's service to always schedule a new variations seed download job, even if one is already pending.
--finch-seed-min-download-period The minimum amount of time in seconds that WebView's service will wait between two variations seed downloads from the variations server.
--finch-seed-min-update-period The minimum amount of time in seconds that the embedded WebView implementation will wait between two requests to WebView's service for a new variations seed.
--finch-seed-no-charging-requirement Forces WebView's service to always schedule a new variations seed download job, even if the device is not charging. Note this switch may be necessary for testing on Android emulators as these are not always considered to be charging.
--fingerprint-sensor-location Fingerprint sensor location indicates the physical sensor's location. The value is a string with possible values: "power-button-top-left", "keyboard-bottom-left", keyboard-bottom-right", "keyboard-top-right".
--first-exec-after-boot Passed to Chrome the first time that it's run after the system boots. Not passed on restart after sign out.
--flag-switches-begin These two flags are added around the switches about:flags adds to the command line. This is useful to see which switches were added by about:flags on about:version. They don't have any effect.
--flag-switches-end
--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.
--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.
--force-assistant-onboarding
--force-birch-fetch Forces a fetch of Birch data whenever an informed restore session starts.
--force-birch-release-notes If set, skips the logic in birch release notes provider and always sets release notes item.
--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.
--force-browser-data-migration-for-testing Force skip or force migration. Should only be used for testing.
--force-caption-style Forces the caption style for WebVTT captions.
--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).
--force-cryptohome-recovery-for-testing Forces fetching tokens for Cryptohome Recovery.
--force-dark-mode Forces dark mode in UI for platforms that support it.
--force-device-ownership Forces the device to report being owned by an enterprise. This mimics the presence of an app signaling device ownership.
--force-device-scale-factor Overrides the device scale factor for the browser UI and the contents.
--force-device-switcher-experience Enables device switcher experience for the segment specified in the argument, e.g. "Android."
--force-devtools-available Forces developer tools availability, no matter what values the enterprise policies DeveloperToolsDisabled and DeveloperToolsAvailability are set to.
--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.
--force-effective-connection-type Forces Network Quality Estimator (NQE) to return a specific effective connection type.
--force-enable-metrics-reporting Forces metrics reporting to be enabled. Should not be used for tests as it will send data to servers.
--force-enable-night-mode Forces the night mode to be enabled.
--force-enable-stylus-tools Enables the stylus tools next to the status area.
--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.
--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.
--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).
--force-first-run-ui Forces first-run UI to be shown for every login.
--force-fre-default-browser-step Force enable the default browser step in the first run experience on Desktop.
--force-gpu-mem-available-mb Sets the total amount of memory that may be allocated for GPU resources
--force-gpu-mem-discardable-limit-mb Sets the maximum GPU memory to use for discardable caches.
--force-happiness-tracking-system Force enables the Happiness Tracking System for the device. This ignores user profile check and time limits and shows the notification every time for any type of user. Should be used only for testing.
--force-headless-for-tests
--force-high-contrast Forces high-contrast mode in native UI drawing, regardless of system settings. Note that this has limited effect on Windows: only Aura colors will be switched to high contrast, not other system colors.
--force-hwid-check-result-for-test Forces Hardware ID check (happens during OOBE) to fail or succeed. Possible values: "failure" or "success". Should be used only for testing.
--force-lacros-launch-at-login-screen-for-testing Forces prelaunching Lacros at login screen regardless of whether there are or aren't users with Lacros enabled.
--force-launch-browser Forces FullRestoreService to launch browser for telemetry tests.
--force-login-manager-in-tests Usually in browser tests the usual login manager bringup is skipped so that tests can change how it's brought up. This flag disables that.
--force-max-texture-size Sets the maximum texture size in pixels.
--force-media-resolution-height When present overrides the screen resolution used by CanDisplayType API, instead of using the values obtained from avsettings.
--force-media-resolution-width
--force-mojo-renderer Forces the use of the mojo renderer. In other words, the renderer process will run a mojo renderer and CastRenderer will run in the browser process. This is necessary for devices that use CastRenderer. For this flag to have any effect, note that you must build the cast web runtime with the gn arg "enable_cast_renderer" set to true, and "renderer" must be included in the list "mojo_media_services". This flag has lower priority than "disable-mojo-renderer".
--force-msbb-setting-on-for-ukm Forces MSBB setting to be on for UKM recording. Should only be used in automated testing browser sessions in which it is infeasible or impractical to toggle the setting manually.
--force-online-connection-state-for-indicator Prevent the offline indicator from showing.
--force-permission-policy-unload-default-enabled If set, the unload event cannot be disabled by default by Permissions-Policy.
--force-pnacl-subzero Force use of the Subzero as the PNaCl translator instead of LLC.
--force-prefers-no-reduced-motion Forces whether the user desires no reduced motion, regardless of system settings.
--force-prefers-reduced-motion Forces whether the user desires reduced motion, regardless of system settings.
--force-presentation-receiver-for-testing This forces pages to be loaded as presentation receivers. Useful for testing behavior specific to presentation receivers. Spec: https://www.w3.org/TR/presentation-api/#interface-presentationreceiver
--force-protected-video-output-buffers Forces protected memory for all output video buffers generated by FuchsiaVideoDecoder, including unencrypted streams. Ignored unless --enable-protected-video-buffers is also specified.
--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.
--force-refresh-rate-throttle On devices that support refresh rate throttling, force the throttling behavior to be active regardless of system state.
--force-renderer-accessibility Force renderer accessibility to be on instead of enabling it on demand when a screen reader is detected. The disable-renderer-accessibility switch overrides this if present. This switch has an optional parameter that forces an AXMode bundle. The three available bundle settings are: 'basic', 'form-controls', and 'complete'. If the bundle argument is invalid, then the forced AXMode will default to 'complete'. If the bundle argument is missing, then the initial AXMode will default to complete but allow changes to the AXMode during execution.
--force-search-engine-choice-screen
--force-separate-egl-display-for-webgl-testing Force the use of a separate EGL display for WebGL contexts. Used for testing multi-GPU pathways on devices with only one valid GPU.
--force-show-cursor Forces the cursor to be shown even if we are mimicking touch events. Note that cursor changes are locked when using this switch.
--force-show-release-track Force the "release track" UI to show in the system tray. Simulates the system being on a non-stable release channel with feedback enabled.
--force-show-update-menu-badge Forces the update menu badge to show.
--force-status-area-collapsible Forces the status area to allow collapse/expand regardless of the current state.
--force-tablet-mode Enables required things for the selected UI mode, regardless of whether the Chromebook is currently in the selected UI mode.
--force-tablet-power-button If set, tablet-like power button behavior (i.e. tapping the button turns the screen off) is used even if the device is in laptop mode.
--force-text-direction Force the text rendering to a specific direction. Valid values are "ltr" (left-to-right) and "rtl" (right-to-left). Only tested meaningfully with RTL.
--force-ui-direction Force the UI to a specific direction. Valid values are "ltr" (left-to-right) and "rtl" (right-to-left).
--force-update-menu-type Forces the update menu type to a specific type.
--force-update-remote-url Per-product customization of force update UI remote url, also used in testing.
--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.
--force-video-overlays Force media player using SurfaceView instead of SurfaceTexture on Android.
--force-wave-audio Use Windows WaveOut/In audio API even if Core Audio is supported.
--force-webgpu-compat Force all WebGPU content to run in WebGPU Compatibility mode.
--force-webrtc-ip-handling-policy Override WebRTC IP handling policy to mimic the behavior when WebRTC IP handling policy is specified in Preferences.
--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.
--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).
--forest-feature-key Supply secret key for the Forest feature.
--form-factor Specifies the device's form factor. If provided, this flag overrides the value from the LSB release info. Possible values are: "CHROMEBASE", "CHROMEBIT", "CHROMEBOOK", "REFERENCE", "CHROMEBOX"
--full-memory-crash-report Generates full memory crash dump.
--gaia-config
--gaia-config-contents
--gaia-url
--gamepad-polling-interval Overrides the gamepad polling interval. Decreasing the interval improves input latency of buttons and axes but may negatively affect performance due to more CPU time spent in the input polling thread.
--gcm-checkin-url Sets the checkin service endpoint that will be used for performing Google Cloud Messaging checkins.
--gcm-mcs-endpoint Sets the Mobile Connection Server endpoint that will be used for Google Cloud Messaging.
--gcm-registration-url Sets the registration endpoint that will be used for creating new Google Cloud Messaging registrations.
--generate-accessibility-test-expectations
--generate-pdf-document-outline Embed the document outline into printed PDFs.
--get-access-token-for-test Enable the getAccessToken autotest API which creates access tokens using the internal OAuth client ID.
--gl
--gl-egl
--gl-null
--gl-shader-interm-output Include ANGLE's intermediate representation (AST) output in shader compilation info logs.
--gles
--gles-egl
--gles-null
--google-api-key
--google-apis-url
--google-base-url Specifies an alternate URL to use for speaking to Google. Useful for testing.
--google-doodle-url Overrides the URL used to fetch the current Google Doodle. Example: https://www.google.com/async/ddljson Testing? Try: https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android0.json https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android1.json https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android2.json https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android3.json https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android4.json
--google-url
--gpu
--gpu-blocklist-test-group Select a different set of GPU blocklist entries with the specified test_group ID.
--gpu-device-id Passes the active graphics device id from browser process to info collection GPU process.
--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-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-driver-version Passes the active graphics driver version from browser process to info collection GPU process.
--gpu-launcher Extra command line options for launching the GPU process (normally used for debugging). Use like renderer-cmd-prefix.
--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.
--gpu-preferences Passes encoded GpuPreferences to GPU process.
--gpu-process
--gpu-program-cache-size-kb Sets the maximum size of the in-memory gpu program cache, in kb
--gpu-rasterization-msaa-sample-count The number of multisample antialiasing samples for GPU rasterization. Requires MSAA support on GPU to have an effect. 0 disables MSAA.
--gpu-revision Passes the active graphics revision info from browser process to info collection GPU process.
--gpu-sandbox-allow-sysv-shm Allows shmat() system call in the GPU sandbox.
--gpu-sandbox-failures-fatal Makes GPU sandbox failures fatal.
--gpu-sandbox-start-early Starts the GPU sandbox before creating a GL context.
--gpu-startup-dialog Causes the GPU process to display a dialog on launch.
--gpu-sub-system-id Passes the active graphics sub system id from browser process to info collection GPU process.
--gpu-vendor-id Passes the active graphics vendor id from browser process to info collection GPU process.
--gpu-watchdog-timeout-seconds Override value for the GPU watchdog timeout in seconds.
--gpu2-startup-dialog Causes the second GPU process used for gpu info collection to display a dialog on launch.
--graphics-buffer-count
--growth-campaigns Specifies campaigns to override for testing.
--growth-campaigns-path Path for which to load growth campaigns file for testing (instead of downloading from Omaha).
--guest Causes the browser to launch directly in guest mode.
--guest-wallpaper-large Large wallpaper to use in guest mode (as path to trusted, non-user-writable JPEG file).
--guest-wallpaper-small Small wallpaper to use in guest mode (as path to trusted, non-user-writable JPEG file).
--h
--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.
--hardware_video_decoding
--hardware_video_encoding
--has-chromeos-keyboard If set, the system is a Chromebook with a "standard Chrome OS keyboard", which generally means one with a Search key in the standard Caps Lock location above the Left Shift key. It should be unset for Chromebooks with both Search and Caps Lock keys (e.g. stout) and for devices like Chromeboxes that only use external keyboards.
--has-hps Whether this device that has hps.
--has-internal-stylus Whether this device has an internal stylus.
--has-number-pad If set, the system is a Chromebook with a number pad as part of its internal keyboard.
--headless Run in headless mode, i.e., without a UI or display server dependencies.
--help
--hermes-fake Enables Hermes fake behavior. By default, no carrier profiles are setup. If a value of "on" is passed for this switch, then hermes fakes are initialized with a single installed carrier profile. Fake cellular service corresponding to carrier profiles are also setup in Shill.
--hidden-network-migration-age Sets how long a wrongly hidden network must have existed in order to be considered for removal. The interval should be provided in days, should follow the format "--hidden-network-migration-age=#", and should be >= 0.
--hidden-network-migration-interval Controls how often the HiddenNetworkHandler class checks for wrongly hidden networks. The interval should be provided in seconds, should follow the format "--hidden-network-migration-interval=#", and should be >= 1.
--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.
--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.
--hide-scrollbars Prevents creating scrollbars for web content. Useful for taking consistent screenshots.
--highlight-all-webviews Highlight the contents (including web contents) of all WebViews with a yellow tint. This is useful for identifying WebViews in an Android application.
--highlight-non-lcd-text-layers Highlights layers that can't use lcd text. Layers containing no text won't be highlighted. See DebugColors::NonLCDTextHighlightColor() for the colors.
--homedir Defines user homedir. This defaults to primary user homedir.
--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.
--host
--host-package-label
--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.
--host-resolver-rules These mappings only apply to the host resolver.
--host-version-code
--icon_reader
--ignore-arcvm-dev-conf If set, the "ignore_dev_conf" field in StartArcVmRequest message will consequently be set such that all development configuration directives in /usr/local/vms/etc/arcvm_dev.conf will be ignored during ARCVM start.
--ignore-autocomplete-off-autofill Ignores autocomplete="off" for Autofill data (profiles + credit cards).
--ignore-certificate-errors-spki-list A set of public key hashes for which to ignore certificate-related errors. If the certificate chain presented by the server does not validate, and one or more certificates have public key hashes that match a key from this list, the error is ignored. The switch value must be a comma-separated list of Base64-encoded SHA-256 SPKI Fingerprints (RFC 7469, Section 2.4). This switch has no effect unless --user-data-dir (as defined by the content embedder) is also present.
--ignore-google-port-numbers When set, this will ignore the PortPermission passed in the google_util.h methods and ignore the port numbers. This makes it easier to run tests for features that use these methods (directly or indirectly) with the EmbeddedTestServer, which is more representative of production.
--ignore-gpu-blocklist Ignores GPU blocklist.
--ignore-profile-directory-if-not-exists If provided with kProfileDirectory, does not create the profile if the profile directory doesn't exist.
--ignore-unknown-auth-factors If true, chrome would silently ignore unknown auth factor types instead of crashing.
--ignore-user-profile-mapping-for-tests If true, profile selection in UserManager will always return active user's profile. TODO(nkostlyev): http://crbug.com/364604 - Get rid of this switch after we turn on multi-profile feature on ChromeOS.
--ime
--in-process-broker Creates the service broker inside of this process. Only one process should host the service broker.
--in-process-gpu Run the GPU process as a thread in the browser process.
--incognito
--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.
--initial-preferences-file Manually sets the initial preferences file. This is required to change the initial preferences when the default file is read-only (eg. on lacros). Passing this flag will reset the preferences regardless of whether this is the first run.
--initialize-client-hints-storage Pre-load the client hint storage. Takes a JSON dict, with each key being an origin (RFC 6454 Section 6.2) and each value a comma-separated list of client hint tokens (RFC 8942 Section 3.1, client-hints-infrastructure Section 7.1). Each origin/token-list entry will be parsed and persisted to the Client Hints storage as though the token-list had come through an Accept-CH response header from a navigation from the origin. The initialization will only apply to non-OffTheRecord profiles, meaning incognito or guest profiles will not have the storage applied.
--input
--inspector-protocol-log Specifies the path to a file containing a Chrome DevTools protocol log. Each line in the log file is expected to be a protocol message in the JSON format. The test runner will use this log file to script the backend for any inspector-protocol tests that run. Usually you would want to run a single test using the log to reproduce timeouts or crashes.
--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.
--install-chrome-app Causes Chrome to initiate an installation flow for the given app.
--install-isolated-web-app-from-file Causes Chrome to install the unsigned Web Bundle at the given path as a developer mode Isolated Web App.
--install-isolated-web-app-from-url Causes Chrome to install a developer mode Isolated Web App whose contents are hosted at the given HTTP(S) URL.
--install-log-fast-upload-for-tests Decreases delay in uploading installation event logs for integration test.
--instant-process Marks a renderer as an Instant process.
--ip-address-space-overrides Specifies manual overrides to the IP endpoint -> IP address space mapping. This allows running local tests against "public" and "private" IP addresses. This switch is specified as a comma-separated list of overrides. Each override is given as a colon-separated "<endpoint>:<address space>" pair. Grammar, in pseudo-BNF format: switch := override-list override-list := override “,” override-list | <nil> override := ip-endpoint “=” address-space address-space := “public” | “private” | “local” ip-endpoint := ip-address ":" port ip-address := see `net::ParseURLHostnameToAddress()` for details port := integer in the [0-65535] range Any invalid entries in the comma-separated list are ignored. 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
--ipc-connection-timeout Overrides the timeout, in seconds, that a child process waits for a connection from the browser before killing itself.
--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.
--ipc-fuzzer-testcase Specifies the testcase used by the IPC fuzzer.
--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
--isolated-context-origins Enables APIs guarded with the [IsolatedContext] IDL attribute for the given comma-separated list of origins.
--isolation-by-default Enables the web-facing behaviors that will enable origin-isolation by default at some point in the relatively near future. https://crbug.com/1140371
--javascript-harmony Enables experimental Harmony (ECMAScript 6) features.
--js-flags Specifies the flags passed to JS engine.
--keep-alive-for-test Used for testing - keeps browser alive after last browser window closes.
--kiosk Enable kiosk mode. Please note this is not Chrome OS kiosk mode.
--kiosk-printing Enable automatically pressing the print button in print preview.
--kiosk-splash-screen-min-time-seconds Minimum time the kiosk splash screen will be shown in seconds.
--lacros-availability-ignore When this flag is set, the lacros-availability policy is ignored.
--lacros-chrome-additional-args If this switch is set, then ash-chrome will pass additional arguments when launching lacros-chrome. The string '####' is used as a delimiter. Example: --lacros-chrome-additional-args="--foo=5####--bar=/tmp/dir name". Will result in two arguments passed to lacros-chrome: --foo=5 --bar=/tmp/dir name
--lacros-chrome-additional-args-file If this switch is set, then ash-chrome will read from the provided path and pass additional arguments when launching lacros-chrome. Each non-empty line in the file will be treated as an argument. Example file contents: --foo=5 --bar=/tmp/dir name
--lacros-chrome-additional-env Additional environment variables set for lacros-chrome. The string '####' is used as a delimiter. For example: --lacros-chrome-additional-env=WAYLAND_DEBUG=client####FOO=bar will enable Wayland protocol logging and set FOO=bar.
--lacros-chrome-path If this switch is set, then ash-chrome will exec the lacros-chrome binary from the indicated path rather than from component updater. Note that the path should be to a directory that contains a binary named 'chrome'.
--lacros-mojo-socket-for-testing If set, ash-chrome will drop a Unix domain socket to wait for a process to connect to it, and the connection will be used to request file descriptors from ash-chrome, and when the process forks to start a lacros-chrome, the obtained file descriptor will be used by lacros-chrome to set up the mojo connection with ash-chrome. There are mainly two use cases: 1. Test launcher to run browser tests in testing environment. 2. A terminal to start lacros-chrome with a debugger.
--lacros-selection-policy-ignore When this flag is set, the lacros-selection policy is ignored.
--lang The language file that we want to try to open. Of the form language[-country] where language is the 2 letter code from ISO-639.
--last-launched-app Pass the app id information to the renderer process, to be used for logging. last-launched-app should be the app that just launched and is spawning the renderer.
--launch-rma Start Chrome in RMA mode. Launches RMA app automatically. kRmaNotAllowed switch takes priority over this one.
--launch-time-ticks Time the browser launched the renderer process (in TimeTicks).
--layer
--libassistant
--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.
--list-audio-devices
--llvm-profile-file For lacros, we do not use environment variable to pass values. Instead we use a command line flag to pass the path to the device.
--load-and-launch-app Loads an app from the specified directory and launches it.
--load-apps
--load-extension
--load-guest-mode-test-extension
--load-signin-profile-test-extension
--loading-predictor-allow-local-request-for-testing Allows the loading predictor to do prefetches to local IP addresses. This is needed for testing as such requests are blocked by default for security.
--lobster-feature-key Enables the lobster feature.
--localhost
--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.
--log-file Overrides the default file name to use for general-purpose logging (does not affect which events are logged).
--log-gpu-control-list-decisions Logs GPU control list decisions when enforcing blocklist rules.
--log-level Sets the minimum log level. Valid values are from 0 to 3: INFO = 0, WARNING = 1, LOG_ERROR = 2, LOG_FATAL = 3.
--log-missing-unload-ack Log an error whenever the unload timeout for a render frame is exceeded.
--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.
--log-on-ui-double-background-blur Checks and logs double background blur as an error if any.
--login-manager Enables Chrome-as-a-login-manager behavior.
--login-profile Specifies the profile to use once a chromeos user is logged in. This parameter is ignored if user goes through login screen since user_id hash defines which profile directory to use. In case of browser restart within active session this parameter is used to pass user_id hash for primary user.
--login-user Specifies the user which is already logged in.
--lso-url
--ltr
--mahi-feature-key Supply secret key for the mahi feature.
--make-chrome-default Indicates whether Chrome should be set as the default browser during installation.
--make-default-browser Makes Chrome default browser
--managed-mode Whether in hospitality mode
--managed-user-id Sets the supervised user ID for any loaded or newly created profile to the given value. Pass an empty string to mark the profile as non-supervised. Used for testing.
--mangle-localized-strings Transform localized strings to be longer, with beginning and end markers to make truncation visually apparent.
--manual
--market-url-for-testing Sets the market URL for Chrome for use in testing.
--marketing-opt-in-url Determines the URL to be used when calling the backend.
--max-active-webgl-contexts Allows user to override maximum number of active WebGL contexts per renderer process.
--max-decoded-image-size-mb Sets the maximium decoded image size limitation.
--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
--max-output-volume-dba1m Calibrated max output volume dBa for voice content at 1 meter, if known.
--max-untiled-layer-height Sets the width and height above which a composited layer will get tiled.
--max-untiled-layer-width
--max-web-media-player-count Sets the maximum number of WebMediaPlayers allowed per frame.
--mem-pressure-system-reserved-kb Some platforms typically have very little 'free' memory, but plenty is available in buffers+cached. For such platforms, configure this amount as the portion of buffers+cached memory that should be treated as unavailable. If this switch is not used, a simple pressure heuristic based purely on free memory will be used.
--memlog
--memlog-sampling-rate
--memlog-stack-mode
--message-loop-type-ui Indicates the utility process should run with a message loop type of UI.
--metal
--metal-null
--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.
--metrics-recording-only Enables the recording of metrics reports but disables reporting. In contrast to kForceEnableMetricsReporting, this executes all the code that a normal client would use for reporting, except the report is dropped rather than sent to the server. This is useful for finding issues in the metrics code during UI and performance tests.
--metrics-shmem-handle Handle to the shared memory segment a child process should use to transmit histograms back to the browser process.
--metrics-upload-interval Override the standard time interval between each metrics report upload for UMA and UKM. It is useful to set to a short interval for debugging. Unit in seconds. (The default is 1800 seconds on desktop).
--mf_cdm
--min-height-for-gpu-raster-tile Sets the min tile height for GPU raster.
--min-video-decoder-output-buffer-size Minimum size for buffer size used for output video frames in FuchsiaVideoDecoder. May be set to avoid re-allocating video buffers when an application upgrades video resolution mid-stream.
--minimal
--mirroring
--mixed
--mixer-enable-dynamic-channel-count Enable dynamically changing the channel count in the mixer depending on the input streams.
--mixer-service-endpoint Endpoint that the mixer service listens on. This is a path for a UNIX domain socket (default is /tmp/mixer-service).
--mixer-service-port TCP port that the mixer service listens on on non-Linux platforms. (default 12854).
--mixer-source-audio-ready-threshold-ms Specify the start threshold frames for audio output when using our mixer. This is mostly used to override the default value to a larger value, for platforms that can't handle the default start threshold without running into audio underruns.
--mixer-source-input-queue-ms Specify the buffer size for audio output when using our mixer. This is mostly used to override the default value to a larger value, for platforms that can't handle an audio buffer so small without running into audio underruns.
--mock
--mock-cert-verifier-default-result-for-testing Set the default result for MockCertVerifier. This only works in test code.
--model-quality-service-api-key Overrides the ModelQuality Service API Key for remote requests to be made.
--model-quality-service-url Overrides the model quality service URL.
--modifier-split-feature-key Supply secret key for modifier split feature.
--mojo-core-library-path Initializes Mojo Core from a shared library at the specified path, rather than using the version of Mojo Core embedded within the Content executable.
--mojo-is-broker Forces the process's global Mojo node to be configured as a broker. Only honored for test runners using MojoTestSuiteBase.
--mojo-local-storage Use a Mojo-based LocalStorage implementation.
--mojo-pipe-token
--monitoring-destination-id Allows setting a different destination ID for connection-monitoring GCM messages. Useful when running against a non-prod management server.
--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.
--mse-video-buffer-size-limit-mb
--mute-audio Mutes audio sent to the audio device so it is not audible during automated testing.
--nacl-debug-mask Uses NaCl manifest URL to choose whether NaCl program will be debugged by debug stub. Switch value format: [!]pattern1,pattern2,...,patternN. Each pattern uses the same syntax as patterns in Chrome extension manifest. The only difference is that * scheme matches all schemes instead of matching only http and https. If the value doesn't start with !, a program will be debugged if manifest URL matches any pattern. If the value starts with !, a program will be debugged if manifest URL does not match any pattern.
--nacl-gdb Native Client GDB debugger that will be launched automatically when needed.
--nacl-gdb-script GDB script to pass to the nacl-gdb debugger at startup.
--nacl-loader
--native
--native-messaging-connect-extension Requests a native messaging connection be established between the extension with ID specified by this switch and the native messaging host named by the kNativeMessagingConnectHost switch.
--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.
--native-messaging-connect-id If set when kNativeMessagingConnectHost and kNativeMessagingConnectExtension are specified, is reflected to the native messaging host as a command line parameter.
--native-with-thread-names
--nearby-share-certificate-validity-period-hours Overrides the default validity period for Nearby Share certificates. Value must be larger than 0.
--nearby-share-device-id Overrides the default device ID to provide a stable ID in test environments. By default we generate a random 10-character string.
--nearby-share-num-private-certificates Overrides the default number of private certificates generated. Value must be larger than 0.
--nearby-share-verbose-logging Enables verbose logging level for Nearby Share.
--nearbysharing-http-host Overrides the default URL for Google APIs (https://www.googleapis.com) used by Nearby Share
--net-log Enable net logging from WebView. This captures network activity for debugging purposes, and stores the files in DevUi.
--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.
--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.
--netifs-to-ignore List of network interfaces to ignore. Ignored interfaces will not be used for network connectivity.
--network
--network-quiet-timeout Sets the timeout seconds of the network-quiet timers in IdlenessDetector. Used by embedders who want to change the timeout time in order to run web contents on various embedded devices and changeable network bandwidths in different regions. For example, it's useful when using FirstMeaningfulPaint signal to dismiss a splash screen.
--new-window Launches URL in new browser window.
--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.
--no-delay-for-dx12-vulkan-info-collection Start the non-sandboxed GPU process for DX12 and Vulkan info collection immediately after the browser starts. The default is to delay for 120 seconds.
--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.
--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. Overridden by kForceFirstRun (for FRE) and kForceWhatsNew (for What's New). 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.
--no-mojo Disables Mojo initialization completely in the process. Only applies to test child processes. See base::MultiprocessTest.
--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.
--no-pdf-header-footer Do not display header and footer in the printed PDF file.
--no-pings Don't send hyperlink auditing pings
--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.
--no-proxy-server Don't use a proxy server, always make direct connections. Overrides any other proxy server flags that are passed.
--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.
--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.
--no-startup-window Does not automatically open a browser window on startup (used when launching Chrome for the purpose of hosting background apps).
--no-subproc-heap-profiling Forces Heap Profiling off for a subprocess. The browser will add this when the kHeapProfilerCentralControl feature is enabled but the subprocess should not be profiled. TODO(https://crbug.com/40840943): This is the default behaviour so the switch only exists to validate that HeapProfilerController adds a switch to every child process that's launched. Remove it once that's verified.
--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.
--no-user-gesture-required Autoplay policy that does not require any user gesture.
--no-xr-runtime Tell WebXr to assume that it does not support any runtimes.
--no-xshm Disables MIT-SHM extension. In use only with Ozone/X11.
--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.
--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.
--noerrdialogs Suppresses all error dialogs when present.
--none Must be in sync with "sandbox_type" values as used in service manager's manifest.json catalog files.
--none_and_elevated
--note-taking-app-ids An optional comma-separated list of IDs of apps that can be used to take notes. If unset, a hardcoded list is used instead.
--notification-inline-reply Used in combination with kNotificationLaunchId to specify the inline reply entered in the toast in the Windows Action Center.
--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.
--null
--num-raster-threads Controls the number of threads to use for raster tasks.
--nv12 Swap chain formats for direct composition SDR video overlays.
--oauth-account-manager-url
--oauth2-client-id
--oauth2-client-secret
--offer-in-settings
--offscreen-document-testing
--on-the-fly-mhtml-hash-computation Calculate the hash of an MHTML file as it is being saved. The browser process will write the serialized MHTML contents to a file and calculate its hash as it is streamed back from the renderer via a Mojo data pipe.
--ondevice-validation-request-override Enables the on-device model to run validation at startup after a delay. A text file can be provided used as input for the validation job and an output file path can be provided to write the response to.
--ondevice-validation-write-to-file
--ondevice_handwriting Used to determine if and how on-device handwriting recognition is supported (e.g. via rootfs or downloadable content).
--on_device_model_execution
--oobe-eula-url-for-tests Allows the eula url to be overridden for tests.
--oobe-force-tablet-first-run Indicates that the first user run flow (sequence of OOBE screens after the first user login) should show tablet mode centric screens, even if the device is not in tablet mode.
--oobe-large-screen-special-scaling Indicates that OOBE should be scaled for big displays similar to how Meets app scales UI. TODO(crbug.com/1205364): Remove after adding new scheme.
--oobe-print-frontend-load-timings When present, prints the time it takes for OOBE's frontend to load. See go/oobe-frontend-trace-timings for details.
--oobe-screenshot-dir Specifies directory for screenshots taken with OOBE UI Debugger.
--oobe-show-accessibility-button-on-marketing-opt-in-for-testing Shows a11y button on the marketing opt in without visiting gesture navigation screen.
--oobe-skip-new-user-check-for-testing Skips new user check in the personalized recommend apps screen for testing.
--oobe-skip-postlogin Skips all other OOBE pages after user login.
--oobe-skip-to-login Skip to login screen.
--oobe-timer-interval Interval at which we check for total time on OOBE.
--oobe-timezone-override-for-tests Allows the timezone to be overridden on the marketing opt-in screen.
--oobe-trigger-sync-timeout-for-tests Trigger sync engine initialization timeout in OOBE for testing.
--opengraph
--openxr
--optimization-guide-fetch-hints-override Overrides scheduling and time delays for fetching hints and causes a hints fetch immediately on start up using the provided comma separate lists of hosts.
--optimization-guide-fetch-hints-override-timer Overrides the hints fetch scheduling and delay, causing a hints fetch immediately on start up using the TopHostProvider. This is meant for testing.
--optimization-guide-model-execution-validate Triggers validation of the server-side AI model execution. Used for integration testing.
--optimization-guide-model-override Disables the fetching of models and overrides the file path and metadata to be used for the session to use what's passed via command-line instead of what is already stored. We expect that the string be a comma-separated string of model overrides with each model override be: OPTIMIZATION_TARGET_STRING:file_path or OPTIMIZATION_TARGET_STRING:file_path:base64_encoded_any_proto_model_metadata. It is possible this only works on Desktop since file paths are less easily accessible on Android, but may work.
--optimization-guide-model-validate Triggers validation of the model. Used for manual testing.
--optimization-guide-ondevice-model-adaptations-override Overrides the on-device model adaptation file paths for on-device model execution.
--optimization-guide-ondevice-model-execution-override Overrides the on-device model file paths for on-device model execution.
--optimization-guide-service-api-key Overrides the Optimization Guide Service API Key for remote requests to be made.
--optimization-guide-service-get-hints-url Overrides the Optimization Guide Service URL that the HintsFetcher will request remote hints from.
--optimization-guide-service-get-models-url Overrides the Optimization Guide Service URL that the PredictionModelFetcher will request remote models and host features from.
--optimization-guide-service-model-execution-url Overrides the Optimization Guide model execution URL.
--optimization_guide_hints_override Overrides the Hints Protobuf that would come from the component updater. If the value of this switch is invalid, regular hint processing is used. The value of this switch should be a base64 encoding of a binary Configuration message, found in optimization_guide's hints.proto. Providing a valid value to this switch causes Chrome startup to block on hints parsing.
--orientation-sensors
--origin-trial-disabled-features Contains a list of feature names for which origin trial experiments should be disabled. Names should be separated by "|" characters.
--origin-trial-disabled-tokens Contains a list of token signatures for which origin trial experiments should be disabled. Tokens should be separated by "|" characters.
--origin-trial-public-key Comma-separated list of keys which will override the default public keys for checking origin trial tokens.
--output
--override-enabled-cdm-interface-version Overrides the default enabled library CDM interface version(s) with the one specified with this switch, which will be the only version enabled. For example, on a build where CDM 8, CDM 9 and CDM 10 are all supported (implemented), but only CDM 8 and CDM 9 are enabled by default: --override-enabled-cdm-interface-version=8 : Only CDM 8 is enabled --override-enabled-cdm-interface-version=9 : Only CDM 9 is enabled --override-enabled-cdm-interface-version=10 : Only CDM 10 is enabled --override-enabled-cdm-interface-version=11 : No CDM interface is enabled This can be used for local testing and debugging. It can also be used to enable an experimental CDM interface (which is always disabled by default) for testing while it's still in development.
--override-hardware-secure-codecs-for-testing Overrides hardware secure codecs support for testing. If specified, real platform hardware secure codecs check will be skipped. Valid codecs are: - video: "vp8", "vp9", "avc1", "hevc", "dolbyvision", "av01" - video that does not support clear lead: `<video>-no-clearlead`, where <video> is from the list above. - audio: "mp4a", "vorbis" Codecs are separated by comma. For example: --override-hardware-secure-codecs-for-testing=vp8,vp9-no-clearlead,vorbis --override-hardware-secure-codecs-for-testing=avc1,mp4a CENC encryption scheme is assumed to be supported for the specified codecs. If no valid codecs specified, no hardware secure codecs are supported. This can be used to disable hardware secure codecs support: --override-hardware-secure-codecs-for-testing
--override-language-detection Overrides the language detection result determined based on the page contents.
--override-metrics-upload-url Override the URL to which metrics logs are sent for debugging.
--override-use-software-gl-for-tests Forces the use of software GL instead of hardware gpu for tests.
--overview-button-for-tests If set, the overview button will be visible.
--ozone-dump-file Specify location for image dumps.
--ozone-override-screen-size Specifies ozone screen size.
--ozone-platform Specify ozone platform implementation to use.
--ozone-platform-hint Suggests the ozone platform to use (desktop Linux only). Can be set on chrome://flags. See https://crbug.com/1246928.
--pack-extension Packages an extension to a .crx installable file from a given directory.
--pack-extension-key Optional PEM private key to use in signing packaged .crx.
--package-name
--package-version-name
--page-content-annotations-validation-batch-size
--page-content-annotations-validation-content-visibility Enables the specific annotation type to run validation at startup after a delay. A comma separated list of inputs can be given as a value which will be used as input for the validation job.
--page-content-annotations-validation-startup-delay-seconds
--page-content-annotations-validation-write-to-file Writes the output of page content annotation validations to the given file.
--parent-window
--passthrough
--password-store Specifies which encryption storage backend to use. Possible values are kwallet, kwallet5, kwallet6, gnome-libsecret, basic. Any other value will lead to Chrome detecting the best backend automatically.
--pdf-renderer Renderer process that runs the non-PPAPI PDF plugin.
--pdf_conversion
--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'.
--perf-test-print-uma-means Show the mean value of histograms that native performance tests are monitoring. Note that this is only applicable for PerformanceTest subclasses.
--perfetto-disable-interning Repeat internable data for each TraceEvent in the perfetto proto format.
--performance
--picker-feature-key
--playready-key-system
--policy Set policy value by command line.
--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.
--ppapi
--ppapi-antialiased-text-enabled The boolean value (0/1) of FontRenderParams::antialiasing to be passed to Ppapi processes.
--ppapi-in-process Runs PPAPI (Pepper) plugins in-process.
--ppapi-plugin-launcher Specifies a command that should be used to launch the ppapi plugin process. Useful for running the plugin process through purify or quantify. Ex: --ppapi-plugin-launcher="path\to\purify /Run=yes"
--ppapi-startup-dialog Causes the PPAPI sub process to display a dialog on launch. Be sure to use --no-sandbox as well or the sandbox won't allow the dialog to display.
--ppapi-subpixel-rendering-setting The enum value of FontRenderParams::subpixel_rendering to be passed to Ppapi processes.
--pre-crashpad-crash-test Causes the browser process to crash very early in startup, just before crashpad (or breakpad) is initialized.
--prediction-service-mock-likelihood Used to mock the response received from the Web Permission Prediction Service. Used for testing.
--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.
--prevent-kiosk-autolaunch-for-testing Prevent kiosk autolaunch for testing.
--prevent-resizing-contents-for-testing For mobile devices, tests should include a viewport meta tag to specify page dimension adjustments. Omitting the tag can lead to automatic resizing to the standard mobile fallback size (980), which results in content shrinking as it first expands to 980, then scales down to 800 to fit the screen, as observed in the issue at https://crrev.com/c/4615623. This flag is intended for use in tests that do not include a viewport meta tag. When enabled, it ensures the viewport size matches the standard mobile fallback size, thereby helping to prevent content resizing in such tests.
--previous-app previous-app should be the app that was running when last-launched-app started.
--print-to-pdf Save a PDF file of the loaded page.
--printing-ppd-channel Sets the channel from which the PPD files are loaded.
--print_backend
--print_compositor
--privacy-policy-host-for-tests Sets Privacy Policy hostname url for testing.
--private-aggregation-developer-mode Causes the Private Aggregation API to run without reporting delays.
--privet-ipv6-only Use IPv6 only for privet HTTP.
--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.
--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). TODO(creis): This flag is currently a no-op. We should refactor it to avoid "unnecessary" process swaps for cross-site navigations but still swap when needed for security (e.g., isolated origins).
--product-version Outputs the product version information and quit. Used as an internal api to detect the installed version of Chrome on Linux.
--production
--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.
--profile-directory Selects directory of profile to associate with the first browser launched.
--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 kProfileUserName are specified, kProfileDirectory takes priority.
--profile-management-attributes Domains and associated SAML attributes for which third-party profile management should be enabled. Input should be in JSON format.
--profile-requires-policy If set to "true", the profile requires policy during restart (policy load must succeed, otherwise session restart should fail).
--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.
--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.
--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.
--protected-audiences-consented-debug-token Causes Protected Audiences Bidding and Auction API to supply the provided debugging key to the trusted auction server. This tells the server that it okay to log information about this user's auction to help with debugging.
--proxy-auto-detect Forces proxy auto-detection.
--proxy-bypass-list
--proxy-pac-url Uses the pac script at the given URL
--proxy-server Uses a specified proxy server, overrides system settings. This switch only affects HTTP and HTTPS requests. ARC-apps use only HTTP proxy server with the highest priority. TODO(yzshen): Move this switch back to chrome/common/chrome_switches.{h,cc}, once the network service is able to access the corresponding setting via the pref service.
--proxy_resolver_win
--pseudo
--public-accounts-saml-acl-url SAML assertion consumer URL, used to detect when Gaia-less SAML flows end (e.g. for SAML managed guest sessions) TODO(crbug.com/40636049): Remove when URL is sent by DMServer.
--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.
--purge-model-and-features-store Purges the store containing prediction medels and host model features on startup, so that it's guaranteed to be using fresh data.
--purge-optimization-guide-store Purges the store containing fetched and component hints on startup, so that it's guaranteed to be using fresh data.
--pwa-launcher-version Specifies the version of the Progressive-Web-App launcher that launched Chrome, used to determine whether to update all launchers. NOTE: changing this switch requires adding legacy handling for the previous method, as older PWA launchers still using this switch will rely on Chrome to update them to use the new method.
--qs-add-fake-bluetooth-devices Adds fake Bluetooth devices to the quick settings menu for UI testing.
--qs-add-fake-cast-devices Adds fake Cast devices to the quick settings menu for UI testing.
--qs-show-locale-tile Forces the quick settings "locale" FeatureTile to show. Normally it only shows in demo mode, which does not work in the emulator.
--query-tiles-country-code
--query-tiles-enable-trending
--query-tiles-instant-background-task
--query-tiles-rank-tiles
--query-tiles-single-tier
--quota-change-event-interval Specifies the minimum amount of time, in seconds, that must pass before consecutive quota change events can be fired. Set the value to '0' to disable the debounce mechanimsm.
--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
--rdp_desktop_session
--reader-mode-feedback
--reader-mode-heuristics
--realtime-reporting-url Specifies the URL at which to upload real-time reports.
--redirect-libassistant-logging
--reduce-accept-language Reduce the accept-language http header, and only send one language in the request header: https://github.com/Tanych/accept-language.
--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.
--reduce-user-agent-platform-oscpu Reduce the platform and oscpu in the desktop User-Agent string. This flag implements phase 5 of User-Agent reduction: https://blog.chromium.org/2021/09/user-agent-reduction-origin-trial-and-dates.html.
--register-max-dark-suspend-delay Makes Chrome register the maximum dark suspend delay possible on Chrome OS i.e. give the device the maximum amount of time to do its work in dark resume as is allowed by the power manager.
--register-pepper-plugins Register Pepper plugins (see pepper_plugin_list.cc for its format).
--regulatory-label-dir The name of the per-model directory which contains per-region subdirectories with regulatory label files for this model. The per-model directories (if there are any) are located under "/usr/share/chromeos-assets/regulatory_labels/".
--relauncher
--remote-allow-origins Enables web socket connections from the specified origins only. '*' allows any origin.
--remote-debug-mode
--remote-debugging-address Use the given address instead of the default loopback for accepting remote debugging connections. Note that the remote debugging protocol does not perform any authentication, so exposing it too widely can be a security risk.
--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".
--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".
--remote-debugging-port Enables remote debug over HTTP on the specified port.
--remote-debugging-socket-name Enables remote debug over HTTP on the specified socket name.
--remote-debugging-targets Porvides a list of addresses to discover DevTools remote debugging targets. The format is <host>:<port>,...,<host>:port.
--remote-reboot-command-timeout-in-seconds-for-testing Testing delay for reboot command. Useful for tast tests.
--renderer
--renderer-client-id
--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".
--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.
--renderer-sampling
--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.
--renderer-wait-for-java-debugger Block ChildProcessMain thread of the renderer's ChildProcessService until a Java debugger is attached.
--renderpass Parameters for kUIShowCompositedLayerBorders.
--report-vp9-as-an-unsupported-mime-type Force to report VP9 as an unsupported MIME type.
--request-desktop-sites Force enable user agent overrides to request desktop sites in Clank.
--require-wlan Only connect to WLAN interfaces.
--reset-browsing-instance-between-tests Forces each web test to be run in a new BrowsingInstance. Required for origin isolation web tests where the BrowsingInstance retains state from origin isolation requests, but this flag may benefit other web tests.
--reset-variation-state Forces a reset of the one-time-randomized FieldTrials on this client, also known as the Chrome Variations state.
--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.
--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.
--restrict-gamepad-access Enables Feature Policy and Secure Context requirements on getGamepads.
--reven-branding Indicates that reven UI strings and features should be shown.
--rlz-ping-delay The rlz ping delay (in seconds) that overwrites the default value.
--rma-not-allowed Start Chrome without opening RMA or checking the current RMA state.
--rtl
--run-all-compositor-stages-before-draw Effectively disables pipelining of compositor frame production stages by waiting for each stage to finish before completing a frame.
--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.
--run-web-tests Runs Content Shell in web test mode, injecting test-only behaviour for blink web tests.
--safe-mode The switch added by session_manager daemon when chrome crashes 3 times or more within the first 60 seconds on start. See BrowserJob::ExportArgv in platform2/login_manager/browser_job.cc.
--safebrowsing-enable-enhanced-protection Enable Safe Browsing Enhanced Protection.
--safebrowsing-manual-download-blacklist List of comma-separated sha256 hashes of executable files which the download-protection service should treat as "dangerous." For a file to show a warning, it also must be considered a dangerous filetype and not be allowlisted otherwise (by signature or URL) and must be on a supported OS. Hashes are in hex. This is used for manual testing when looking for ways to by-pass download protection.
--saml-password-change-url Password change url for SAML users. TODO(crbug.com/40618074): Remove when the bug is fixed.
--sandbox-ipc Causes the process to run as a sandbox IPC subprocess.
--save-page-as-mhtml Disable saving pages as HTML-only, disable saving pages as HTML Complete (with a directory of sub-resources). Enable only saving pages as MHTML. See http://crbug.com/120416 for how to remove this switch.
--scheduled-reboot-grace-period-in-seconds-for-testing Testing grace period for DeviceScheduledReboot policy. Useful for tast tests. See `ShouldSkipRebootDueToGracePeriod` in scheduled_task_util.h.
--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).
--scheduler-configuration Selects the scheduler configuration specified in the parameter.
--scheduler-configuration-default Specifies what the default scheduler configuration value is if the user does not set one.
--screen-capture-audio-default-unchecked This flag sets the checkboxes for sharing audio during screen capture to off by default. It is primarily intended to be used for tests.
--screen-config Specifies the initial screen configuration, or state of all displays, for FakeDisplayDelegate, see class for format details.
--screenshot Save a screenshot of the loaded page.
--screen_ai
--seal-key Supply secret key for Seal feature.
--search-engine-choice-country
--search-provider-logo-url Use a static URL for the logo of the default search engine. Example: https://www.google.com/branding/logo.png
--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)
--secure-connect-api-url Specifies the base URL to contact the secure connect Api.
--service
--service-name Indicates the name of the service to run. Useful for debugging, or if a service executable is built to support being run as a number of potential different services.
--service-request-attachment-name The name of the |mojo::PendingReceiver<service_manager::mojom::Service>| message pipe handle that is attached to the incoming Mojo invitation received by the service.
--service-sandbox-type Type of sandbox to apply to the process running the service, one of the values in the next block.
--service_with_jit
--set-extension-throttle-test-params
--setup
--shader-cache-path
--shared-array-buffer-allowed-origins Comma-separated list of origins that can use SharedArrayBuffer without enabling cross-origin isolation.
--shared-array-buffer-unrestricted-access-allowed Enables shared array buffer on desktop, gated by an Enterprise Policy. TODO(crbug.com/40155376) Remove when migration to COOP+COEP is complete.
--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.
--shelf-hotseat New modular design for the shelf with apps separated into a hotseat UI and smaller shelf in clamshell mode.
--shill-stub Overrides Shill stub behavior. By default, ethernet, wifi and vpn are enabled, and transitions occur instantaneously. Multiple options can be comma separated (no spaces). Note: all options are in the format 'foo=x'. Values are case sensitive and based on Shill names in service_constants.h. See FakeShillManagerClient::SetInitialNetworkState for implementation. Examples: 'clear=1' - Clears all default configurations 'wifi=on' - A wifi network is initially connected ('1' also works) 'wifi=off' - Wifi networks are all initially disconnected ('0' also works) 'wifi=disabled' - Wifi is initially disabled 'wifi=none' - Wifi is unavailable 'wifi=portal' - Wifi connection will be in Portal state 'cellular=1' - Cellular is initially connected 'cellular=LTE' - Cellular is initially connected, technology is LTE 'interactive=3' - Interactive mode, connect/scan/etc requests take 3 secs
--short-merge-session-timeout-for-test Use a short (1 second) timeout for merge session loader throttle testing.
--short-reporting-delay Sets the Reporting API delay to under a second to allow much quicker reports.
--show-aggregated-damage Adds a DebugBorderDrawQuad to the top of the root RenderPass showing the damage rect after surface aggregation. Note that when enabled this feature sets the entire output rect as damaged after adding the quad to highlight the real damage rect, which could hide damage rect problems.
--show-autofill-signatures Annotates forms and fields with Autofill signatures.
--show-autofill-type-predictions Annotates forms with Autofill field type predictions.
--show-component-extension-options
--show-composited-layer-borders Renders a border around compositor layers to help debug and study layer compositing.
--show-dc-layer-debug-borders Show debug borders for DC layers - red for overlays and blue for underlays. The debug borders are offset from the layer rect by a few pixels for clarity.
--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.
--show-icons See kHideIcons.
--show-layer-animation-bounds Renders a border that represents the bounding box for the layer's animation.
--show-layout-shift-regions Visibly render a border around layout shift rects in the web page to help debug and study layout shifts.
--show-login-dev-overlay If true, the developer tool overlay will be shown for the login/lock screen. This makes it easier to test layout logic.
--show-mac-overlay-borders Show borders around CALayers corresponding to overlays and partial damage.
--show-oobe-dev-overlay Enables OOBE UI Debugger for ease of navigation between screens during manual testing. Limited to ChromeOS-on-linux and test images only.
--show-oobe-quick-start-debugger Enables the QuickStart debugger in OOBE which mimics an Android phone.
--show-overdraw-feedback Visualize overdraw by color-coding elements based on if they have other elements drawn underneath. This is good for showing where the UI might be doing more rendering work than necessary. The colors are hinting at the amount of overdraw on your screen for each pixel, as follows: True color: No overdraw. Blue: Overdrawn once. Green: Overdrawn twice. Pink: Overdrawn three times. Red: Overdrawn four or more times.
--show-paint-rects Visibly render a border around paint rects in the web page to help debug and study painting behavior.
--show-property-changed-rects Show rects in the HUD around layers whose properties have changed.
--show-screenspace-rects Show rects in the HUD around the screen-space transformed bounds of every layer.
--show-surface-damage-rects Show rects in the HUD around damage as it is recorded into each render surface.
--show-taps Draws a circle at each touch point, similar to the Android OS developer option "Show taps".
--signed-out-ntp-modules
--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.
--silent-launch Causes Chrome to launch without opening any windows by default. Useful if one wishes to use Chrome as an ash server.
--simulate-browsing-data-lifetime Sets the BrowsingDataLifetime policy to a very short value (shorter than normally possible) for testing purposes.
--simulate-critical-update Simulates a critical update being available.
--simulate-elevated-recovery Simulates that elevation is needed to recover upgrade channel.
--simulate-idle-timeout Sets the IdleTimeout policy to a very short value (shorter than normally possible) for testing purposes.
--simulate-outdated Simulates that current version is outdated.
--simulate-outdated-no-au Simulates that current version is outdated and auto-update is off.
--simulate-update-error-code Simulates a GoogleUpdateErrorCode error by the update check. Must be supplied with |kSimulateUpdateHresult| switch.
--simulate-update-hresult Simulates a specific HRESULT error code returned by the update check. If the switch value is not specified (as hex) then it defaults to E_FAIL.
--simulate-upgrade Simulates an update being available.
--single-process Runs the renderer and plugins in the same process as the browser
--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.
--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.
--skia-graphite-backend Specify which backend to use for Skia Graphite - "dawn" (default) or "metal" (only allowed on non-official developer builds).
--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.
--skip-force-online-signin-for-testing Disables online sign-in enforcement in tast tests.
--skip-multidevice-screen Skip multidevice setup screen during tast tests.
--skip-reorder-nudge-show-threshold-duration Used to skip the threshold duration that the reorder nudge has to show before the nudge is considered as shown.
--slow-down-compositing-scale-factor Re-draw everything multiple times to simulate a much slower machine. Give a slow down factor to cause renderer to take that many times longer to complete, such as --slow-down-compositing-scale-factor=2.
--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.
--sms-test-messages Sends test messages on first call to RequestUpdate (stub only).
--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.
--sparky-feature-key Supply secret key for the sparky feature.
--sparky-server-url Supply server url for the sparky feature.
--speech_recognition
--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.
--ssl-version-max Specifies the maximum SSL/TLS version ("tls1.2" or "tls1.3").
--ssl-version-min Specifies the minimum SSL/TLS version ("tls1.2" or "tls1.3").
--stabilize-time-dependent-view-for-tests If true, the time dependent views (such as the time view) show with the predefined fixed time.
--stable-release-mode This makes us disable some web-platform runtime features so that we test content_shell as if it was a stable release. It is only followed when kRunWebTest is set. For the features' level, see third_party/blink/renderer/platform/RuntimeEnabledFeatures.md
--stack-profiler-thread-pool Use the thread pool for stack profiler.
--staging
--start-fullscreen Specifies if the browser should start in fullscreen mode, like if the user had pressed F11 right after startup.
--start-maximized Starts the browser maximized, regardless of any previous settings.
--start-stack-profiler Starts the stack sampling profiler in the child process.
--storage-pressure-notification-interval Interval, in minutes, used for storage pressure notification throttling. Useful for developers testing applications that might use non-trivial amounts of disk space.
--stub
--subproc-heap-profiling Forces Heap Profiling on for a subprocess. The browser will add this when the kHeapProfilerCentralControl feature is enabled and the subprocess should be profiled.
--supports-clamshell-auto-rotation If set, the device will be forced to stay in clamshell UI mode but screen auto rotation will be supported. E.g, chromebase device Dooly.
--suppress-message-center-popups Hides all Message Center notification popups (toasts). Used for testing.
--surface
--swiftshader
--swiftshader-webgl
--sys-info-file-path System info file path. Default is an empty string, which means that dummy info will be used.
--system-aec-enabled Enforce system audio echo cancellation.
--system-developer-mode Used by FakeDebugDaemonClient to specify that the system is running in dev mode when running in a Linux environment. The dev mode probing is done by session manager.
--system-font-family Specifies system font family name. Improves determenism when rendering pages in headless mode.
--system-gesture-start-height The number of pixels from the very top or bottom of the screen to consider as a valid origin for the top or bottom swipe gesture. Overrides the default value in cast_system_gesture_handler.cc.
--system-gesture-start-width The number of pixels from the very left or right of the screen to consider as a valid origin for the left or right swipe gesture. Overrides the default value in cast_system_gesture_handler.cc.
--system-log-upload-frequency Frequency in Milliseconds for system log uploads. Should only be used for testing purposes.
--telemetry-extension-dir Specifies directory for the Telemetry System Web Extension.
--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.
--test-encryption-migration-ui Enables testing for encryption migration UI.
--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.
--test-memory-log-delay-in-minutes Custom delay for memory log. This should be used only for testing purpose.
--test-name Passes the name of the current running automated test to Chrome.
--test-register-standard-scheme Register the provided scheme as a standard scheme.
--test-third-party-cookie-phaseout
--test-type Type of the current test harness ("browser" or "ui" or "gpu").
--test-wallpaper-server Enables the wallpaper picker to fetch images from the test server.
--tether-host-scans-ignore-wired-connections Tells the Chromebook to scan for a tethering host even if there is already a wired connection. This allows end-to-end tests to be deployed over ethernet without that connection preventing scans and thereby blocking the testing of cases with no preexisting connection. Should be used only for testing.
--tether-stub Overrides Tether with stub service. Provide integer arguments for the number of fake networks desired, e.g. 'tether-stub=2'.
--text-contrast
--text-gamma
--third-party-doodle-url Overrides the Doodle URL to use for third-party search engines. Testing? Try: https://www.gstatic.com/chrome/ntp/doodle_test/third_party_simple.json https://www.gstatic.com/chrome/ntp/doodle_test/third_party_animated.json
--time-before-onboarding-survey-in-seconds-for-testing Used for overriding the required user activity time before running the onboarding survey.
--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.
--timeout Issues a stop after the specified number of milliseconds. This cancels all navigation and causes the DOMContentLoaded event to fire.
--tint-composited-content Tint composited color.
--tint-composited-content-modulate Modulates the debug compositor tint color so that damage and page flip updates are made clearly visible. This feature was useful in determining the root cause of https://b.corp.google.com/issues/183260320 . The tinting flag "tint-composited-content" must also be enabled for this flag to used.
--tls1.2 TLS 1.2 mode for |kSSLVersionMax| and |kSSLVersionMin| switches.
--tls1.3 TLS 1.3 mode for |kSSLVersionMax| and |kSSLVersionMin| switches.
--top-chrome-touch-ui Controls touch-optimized UI layout for top chrome.
--top-controls-hide-threshold Percentage of the browser controls need to be hidden before they will auto hide.
--top-controls-show-threshold Percentage of the browser controls need to be shown before they will auto show.
--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'.
--touch-events Enable support for touch event feature detection.
--touch-selection-strategy Controls how text selection granularity changes when touch text selection handles are dragged. Should be "character" or "direction". If not specified, the platform default is used.
--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.
--touchscreen-usable-while-screen-off Chromebases' touchscreens can be used to wake from suspend, unlike the touchscreens on other Chrome OS devices. If set, the touchscreen is kept enabled while the screen is off so that it can be used to turn the screen back on after it has been turned off for inactivity but before the system has suspended.
--touch_view
--tpm-is-dynamic Enables TPM selection in runtime.
--trace-config-file Causes TRACE_EVENT flags to be recorded from startup. This flag will be ignored if --trace-startup or --trace-shutdown is provided.
--trace-smb-size Configures the size of the shared memory buffer used for tracing. Value is provided in kB. Defaults to 4096. Should be a multiple of the SMB page size (currently 32kB on Desktop or 4kB on Android).
--trace-startup Causes TRACE_EVENT flags to be recorded from startup. Optionally, can specify the specific trace categories to include (e.g. --trace-startup=base,net) otherwise, all events are recorded. Setting this flag results in the first call to BeginTracing() to receive all trace events since startup. Historically, --trace-startup was used for browser startup profiling and --enable-tracing was used for browsertest tracing. Now they are share the same implementation, but both are still supported to avoid disrupting existing workflows. The only difference between them is the default duration (5 seconds for trace-startup, unlimited for enable-tracing). If both are specified, 'trace-startup' takes precedence. In Chrome, you may find --trace-startup-file and --trace-startup-duration to control the auto-saving of the trace (not supported in the base-only TraceLog component).
--trace-startup-duration Sets the time in seconds until startup tracing ends. If omitted: - if --trace-startup is specified, a default of 5 seconds is used. - if --enable-tracing is specified, tracing lasts until the browser is closed. Has no effect otherwise.
--trace-startup-file If supplied, sets the file which startup tracing will be stored into, if omitted the default will be used "chrometrace.log" in the current directory. Has no effect unless --trace-startup is also supplied. Example: --trace-startup --trace-startup-file=/tmp/trace_event.log As a special case, can be set to 'none' - this disables automatically saving the result to a file and the first manually recorded trace will then receive all events since startup.
--trace-startup-format Sets the output format for the trace, valid values are "json" and "proto". If not set, the current default is "proto". "proto", unlike json, supports writing the trace into the output file incrementally and is more likely to retain more data if the browser process unexpectedly terminates. Ignored if "trace-startup-owner" is not "controller".
--trace-startup-owner Specifies the coordinator of the startup tracing session. If the legacy tracing backend is used instead of perfetto, providing this flag is not necessary. Valid values: 'controller', 'devtools', or 'system'. Defaults to 'controller'. If 'controller' is specified, the session is controlled and stopped via the TracingController (e.g. to implement the timeout). If 'devtools' is specified, the startup tracing session will be owned by DevTools and thus can be controlled (i.e. stopped) via the DevTools Tracing domain on the first session connected to the browser endpoint. If 'system' is specified, the system Perfetto service should already be tracing on a supported platform (currently only Android). Session is stopped through the normal methods for stopping system traces.
--trace-startup-record-mode If supplied, sets the tracing record mode and options; otherwise, the default "record-until-full" mode will be used.
--trace-to-console Sends a pretty-printed version of tracing info to the console.
--trace-to-file Sends trace events from these categories to a file. --trace-to-file on its own sends to default categories.
--trace-to-file-name Specifies the file name for --trace-to-file. If unspecified, it will go to a default file name.
--translate-ranker-model-url Overrides the URL from which the translate ranker model is downloaded.
--translate-script-url Overrides the default server used for Google Translate.
--translate-security-origin Overrides security-origin with which Translate runs in an isolated world.
--true Value indicating whether flag from command line switch is true.
--trusted-download-sources Identifies a list of download sources as trusted, but only if proper group policy is set.
--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.
--tts
--type Flags spied upon from other layers.
--ui-disable-partial-swap Disable partial swap which is needed for some OpenGL drivers / emulators.
--ui-disable-zero-copy
--ui-enable-rgba-4444-textures
--ui-enable-zero-copy
--ui-show-composited-layer-borders
--ui-show-fps-counter
--ui-show-layer-animation-bounds
--ui-show-paint-rects
--ui-show-property-changed-rects
--ui-show-screenspace-rects
--ui-show-surface-damage-rects
--ui-slow-animations
--ui-toolkit Specify the toolkit used to construct the Linux GUI.
--ukm-server-url Overrides the URL of the server that UKM reports are uploaded to. This can only be used in debug builds.
--uma-insecure-server-url Overrides the URL of the server that UMA reports are uploaded to when the connection to the default secure URL fails (see |kUmaServerUrl|). This can only be used in debug builds.
--uma-server-url Overrides the URL of the server that UMA reports are uploaded to. This can only be used in debug builds.
--unfiltered-bluetooth-devices Shows all Bluetooth devices in UI (System Tray/Settings Page.)
--uninstall Runs un-installation steps that were done by chrome first-run.
--uninstall-app-id Specifies that the WebApp with the specified id should be uninstalled.
--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.
--unlimited-storage Overrides per-origin quota settings to unlimited storage for any apps/origins. This should be used only for testing purpose.
--unsafely-allow-protected-media-identifier-for-domain For automated testing of protected content, this switch allows specific domains (e.g. example.com) to always allow the permission to share the protected media identifier. In this context, domain does not include the port number. User's content settings will not be affected by enabling this switch. Reference: http://crbug.com/718608 Example: --unsafely-allow-protected-media-identifier-for-domain=a.com,b.ca
--unsafely-disable-devtools-self-xss-warnings Disables warnings about self-XSS attacks when pasting into the DevTools console.
--unsafely-treat-insecure-origin-as-secure Treat given (insecure) origins as secure origins. Multiple origins can be supplied as a comma-separated list. For the definition of secure contexts, see https://w3c.github.io/webappsec-secure-contexts/ and https://www.w3.org/TR/powerful-features/#is-origin-trustworthy Example: --unsafely-treat-insecure-origin-as-secure=http://a.test,http://b.test
--url_forwarder_configurator
--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.
--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.
--use-cast-browser-pref-config Rather than share a common pref config file with cast_service, use a dedicated browser pref config file. This must be set when `cast_browser` is running in a different process from `cast_service`.
--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.
--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.
--use-cras Use CRAS, the ChromeOS audio server.
--use-fake-codec-for-peer-connection Replaces the existing codecs supported in peer connection with a single fake codec entry that create a fake video encoder and decoder.
--use-fake-cras-audio-client-for-dbus Use the fake FakeCrasAudioClient to handle system audio controls.
--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().
--use-fake-mahi-manager Use the fake MahiManager within the Mahi feature. Also always show the Mahi menu when context menu is shown.
--use-fake-mjpeg-decode-accelerator Use a fake device for accelerated decoding of MJPEG. This allows, for example, testing of the communication to the GPU service without requiring actual accelerator hardware to be present.
--use-fake-ui-for-digital-identity Bypass the digital-identity-credential OS call. Simulate the user accepting the OS-presented dialog.
--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.
--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.
--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.
--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.
--use-first-display-as-internal Uses the 1st display in --ash-host-window-bounds as internal display. This is for debugging on linux desktop.
--use-first-party-set Allows the manual specification of a First-Party Set, as a comma-separated list of origins. The first origin in the list is treated as the owner of the set. DEPRECATED(crbug.com/1486689): This switch is under deprecation due to renaming "First-Party Set" to "Related Website Set". Please use `kUseRelatedWebsiteSet` instead.
--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.
--use-gpu-in-tests Use hardware gpu, if available, for tests.
--use-heap-profiling-proto-writer
--use-legacy-metrics-service
--use-mobile-user-agent Set when Chromium should use a mobile user agent.
--use-mock-cert-verifier-for-testing Use the MockCertVerifier. This only works in test code.
--use-mock-keychain
--use-myfiles-in-user-data-dir-for-testing Flag that stored MyFiles folder inside the user data directory. $HOME/Downloads is used as MyFiles folder for ease access to local files for debugging when running on Linux. By setting this flag, <cryptohome>/MyFiles is used even on Linux.
--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
--use-related-website-set Allows the manual specification of a Related Website Set, as a comma-separated list of origins. The first origin in the list is treated as the primary site of the set.
--use-skia-font-manager This will replace the existing font manager with SkiaFontManager in the renderer.
--use-system-clipboard Enables the ozone x11 clipboard for linux-chromeos.
--use-system-default-printer Uses the system default printer as the initially selected destination in print preview, instead of the most recently used destination.
--use-system-proxy-resolver Uses WinHttp to resolve proxies instead of using Chromium's normal proxy resolution logic. This is only supported in Windows. TODO(crbug.com/40111093): Only use WinHttp whenever Chrome is exclusively using system proxy configs.
--use-va-dev-keys
--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.
--use-wayland-explicit-grab Use explicit grab when opening popup windows. See https://crbug.com/1220274
--user-agent A string used to override the default user agent with a custom one.
--user-agent-product
--user-data-dir Makes Content Shell use the given path for its data directory. NOTE: "user-data-dir" is used to align with Chromedriver's behavior. Please do NOT change this to another value. NOTE: The same value is also used at Java-side in ContentShellBrowserTestActivity.java#getUserDataDirectoryCommandLineSwitch().
--user-data-migrated Indicates that this process is the product of a relaunch following migration of User Data.
--user-gesture-required Autoplay policy to require a user gesture in order to play.
--utility
--utility-and-browser
--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".
--utility-sampling
--utility-startup-dialog Causes the utility process to display a dialog on launch.
--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 for debugging and profiling purposes.
--v Gives the default maximal active V-logging level; 0 is the default. Normally positive values are used for V-logging levels.
--v8-cache-options Set options to cache V8 data. (none, code, or default)
--validate-crx Examines a .crx for validity and prints the result.
--validate-input-event-stream In debug builds, asserts that the stream of input events is valid.
--validating The command decoder names that can be passed to --use-cmd-decoder.
--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-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-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-seed-version Used to share variations seed version with child processes.
--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-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|.
--verbose-logging-in-nacl Sets NACLVERBOSITY to enable verbose logging. This should match the string used in chrome/browser/about_flags.cc
--version
--video-capture-use-gpu-memory-buffer Enables GpuMemoryBuffer-based buffer pool.
--video-image-texture-target Texture target for CHROMIUM_image backed video frame textures.
--video-threads Set number of threads to use for video decoding.
--video_capture
--view-stack-traces Captures stack traces on View construction to provide better debug info.
--virtual-time-budget If set the system waits the specified number of virtual milliseconds before deeming the page to be ready. For determinism virtual time does not advance while there are pending network fetches (i.e no timers will fire). Once all network fetches have completed, timers fire and if the system runs out of virtual time is fastforwarded so the next timer fires immediately, until the specified virtual time budget is exhausted.
--viz-demo-use-gpu
--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.
--vsync-interval Overrides the vsync interval used by the GPU process to refresh the display.
--vulkan
--vulkan-heap-memory-limit-mb Specifies the heap limit for Vulkan memory. TODO(crbug.com/40161102): Remove this switch.
--vulkan-null
--vulkan-sync-cpu-memory-limit-mb Specifies the sync CPU limit for total Vulkan memory. TODO(crbug.com/40161102): Remove this switch.
--wait-for-debugger Will wait for 60 seconds for a debugger to come to attach to the process.
--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.
--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.
--wait-for-debugger-webui Flag used by WebUI test runners to wait for debugger to be attached.
--wallet-service-use-sandbox Use the sandbox Online Wallet service URL (for developer testing).
--waveout-buffers Number of buffers to use for WaveOut.
--web-otp-backend Enables specified backend for the Web OTP API.
--web-otp-backend-auto Enables auto backend selection for Web OTP API.
--web-otp-backend-sms-verification Enables Sms Verification backend for Web OTP API which requires app hash in SMS body.
--web-otp-backend-user-consent Enables User Consent backend for Web OTP API.
--web-ui-data-source-path-for-testing If provided, any webui will be loaded from <flag value>/<handler_name>, where handler_name is the name passed to MaybeConfigureTestableDataSource, if the file exists. For example, if the flag is /tmp/resource_overrides, attempting to load js/app_main.js from the data source named "help_app/untrusted" will first attempt to load from /tmp/resource_overrides/help_app/untrusted/js/main.js.
--webapk-server-url Custom WebAPK server URL for the sake of testing.
--webauthn-gpm-pin-reset-reauth-url
--webauthn-permit-enterprise-attestation
--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.
--webauthn-remote-proxied-requests-allowed-additional-origin
--webgl-antialiasing-mode Set the antialiasing method used for webgl. (none, explicit, implicit)
--webgl-msaa-sample-count Set a default sample count for webgl if msaa is enabled.
--webrtc-event-log-proactive-pruning-delta Sets the delay (in seconds) between proactive prunings of remote-bound WebRTC event logs which are pending upload. All positive values are legal. All negative values are illegal, and ignored. If set to 0, the meaning is "no proactive pruning".
--webrtc-event-log-upload-delay-ms WebRTC event logs will only be uploaded if the conditions hold for this many milliseconds.
--webrtc-event-log-upload-no-suppression Normally, remote-bound WebRTC event logs are uploaded only when no peer connections are active. With this flag, the upload is never suppressed.
--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.
--webrtc-ip-handling-policy Override WebRTC IP handling policy to mimic the behavior when WebRTC IP handling policy is specified in Preferences.
--webview-disable-safebrowsing-support used to disable safebrowsing functionality in webview
--webview-draw-functor-uses-vulkan Indicate that the this is being used by Android WebView and its draw functor is using vulkan.
--webview-enable-modern-cookie-same-site Enables modern SameSite cookie behavior (as opposed to legacy behavior). This is used for WebView versions prior to when the modern behavior will be enabled by default. This enables the same-site-by-default-cookies, cookies-without-SameSite-must-be-secure, and schemeful-same-site features.
--webview-enable-trust-tokens-component Enables downloading TrustTokenKeyCommitmentsComponent by the component updater downloading service in nonembedded WebView. See https://crbug.com/1170468.
--webview-fenced-frames Enables FencedFrames. This also enables PrivacySandboxAdsAPIsOverride.
--webview-force-crash-java Enables crashes during WebView startup in the Java layer
--webview-force-crash-native Enables crashes during WebView startup in the Native layer
--webview-force-disable-3pcs Force disables 3rd party cookie for all apps.
--webview-fps-component Enables downloading FirstPartySetsComponentInstallerPolicy by the component updater downloading service in nonembedded WebView.
--webview-intercepted-cookie-header When enabled, the cookie header will be included in the request headers for shouldInterceptRequest.
--webview-log-js-console-messages
--webview-safebrowsing-block-all-resources Enables SafeBrowsing and causes WebView to treat all resources as malicious. Use care: this will block all resources from loading.
--webview-sandboxed-renderer
--webview-selective-image-inversion-darkening Enables use selective image inversion to automatically darken page, it will be used when WebView is in dark mode, but website doesn't provide dark style.
--webview-tpcd-metadata-component Enables downloading TpcdMetadataComponentInstallerPolicy by the component updater downloading service in nonembedded WebView.
--webview-use-separate-resource-context Use WebView's context for resource lookups instead of the embedding app's.
--webview-verbose-logging WebView will log additional debugging information to logcat, such as variations and commandline state.
--win-jumplist-action Specifies which category option was clicked in the Windows Jumplist that resulted in a browser startup.
--window-name Specify the initial window user title: --window-name="My custom title"
--window-position Specify the initial window position: --window-position=x,y
--window-size Specify the initial window size: --window-size=w,h
--window-workspace Specify the initial window workspace: --window-workspace=id
--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.
--wm-window-animations-disabled If present animations are disabled.
--xr_compositing
--xsession_chooser
--yuy2
--zygote

How to use a command line switch?

The Chromium Team has made a page on which they briefly explain how to use these switches.

These are rather technical. While most are pretty self-explanatory, keep in mind that any condition means that a switch isn't always available.

  • The constant BUILDFLAG(IS_WIN) must be defined.
  • The constant BUILDFLAG(ENABLE_PLUGINS) must be defined.
  • The constant BUILDFLAG(IS_CHROMEOS) must be defined.
  • The constant BUILDFLAG(ENABLE_CAST_RECEIVER) must be defined.
  • The constants BUILDFLAG(IS_CHROMEOS) , BUILDFLAG(IS_FREEBSD) , BUILDFLAG(IS_LINUX) and \ must be defined.
  • The constant BUILDFLAG(IS_CHROMEOS_ASH) must be defined.
  • The constant BUILDFLAG(IS_MAC) must be defined.
  • The constant BUILDFLAG(IS_FUCHSIA) must be defined.
  • The constant BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) must be defined.
  • The constant BUILDFLAG(IS_ANDROID) must be defined.
  • The constant !BUILDFLAG(IS_ANDROID) must not be defined.
  • The constant BUILDFLAG(IS_APPLE) must be defined.
  • The constants !BUILDFLAG(IS_CHROMEOS_ASH) and !BUILDFLAG(IS_MAC) must not be defined, and the constant BUILDFLAG(IS_POSIX) must be defined.
  • The constants !BUILDFLAG(IS_ANDROID) and !BUILDFLAG(IS_IOS) must not be defined.
  • The constants BUILDFLAG(IS_CHROMEOS) and BUILDFLAG(IS_LINUX) must be defined.
  • The constant OFFICIAL_BUILD must not be defined, and the constant BUILDFLAG(ENABLE_PRINT_PREVIEW) must be defined.
  • The constant BUILDFLAG(IS_OZONE) must be defined.
  • The constant BUILDFLAG(IS_LINUX) must be defined.
  • The constant !BUILDFLAG(IS_CHROMEOS_ASH) must not be defined.
  • The constant BUILDFLAG(IS_POSIX) must be defined.
  • The constants BUILDFLAG(IS_CHROMEOS) , BUILDFLAG(IS_LINUX) , BUILDFLAG(IS_MAC) and \ must be defined.
  • The constant BUILDFLAG(USE_V4L2_CODEC) must be defined.
  • The constants BUILDFLAG(IS_CHROMEOS_LACROS) and BUILDFLAG(IS_LINUX) must be defined.
  • The constant BUILDFLAG(ENABLE_DICE_SUPPORT) must be defined.
  • The constant BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION) must be defined.
  • The constants BUILDFLAG(IS_CHROMEOS_ASH) and BUILDFLAG(IS_LINUX) must be defined.
  • The constant BUILDFLAG(IS_CHROMEOS_LACROS) must be defined.
  • The constant ENABLE_IPC_FUZZER must be defined.
  • The constants BUILDFLAG(IS_LINUX) , BUILDFLAG(IS_MAC) and BUILDFLAG(IS_WIN) must be defined.
  • The constant DCHECK_IS_ON() must be defined.
  • The constant BUILDFLAG(IS_IOS) must be defined.
  • The constant BUILDFLAG(ENABLE_PRINTING) must be defined.
  • The constant BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) must be defined.
  • The constant USE_CRAS must be defined.
  • The constants BUILDFLAG(INCLUDE_BOTH_V8_SNAPSHOTS) and BUILDFLAG(IS_ANDROID) must be defined.
  • The constants !BUILDFLAG(IS_ANDROID) and !BUILDFLAG(IS_CHROMEOS_ASH) must not be defined.
  • The constant BUILDFLAG(ENABLE_DOWNGRADE_PROCESSING) must be defined.
  • The constants BUILDFLAG(IS_ANDROID) and BUILDFLAG(IS_CHROMEOS_ASH) must be defined.

How To Add Experimental Features In Chrome Using Command Line Switches

Google Chrome and Microsoft Edge stable versions come with experimental features that are not enabled by default. Using Chrome://flags experimental features can be enabled. In case of Edge, you can use Edge://flags in the address bar.

If you are a power user or a system administrator, and you want to enable some of the experimental features across multiple computers, you will need to use command line switches. Unlike the Chrome://flags section, working with command line switches is a little more difficult. Users need to know specific commands and how to execute them.

How to enable experimental features in Chrome (and Edge) using command line switches

Pressing OK on the Shortcut properties will trigger an administrative warning. Press Yes to continue.

The same technique can be applied to Edge browser shortcuts and even Vivaldi and Opera shortcuts as they are also Chromium based browsers. If you are a sysadmin, you can distribute this shortcut across your network to run Chrome with specific experimental features enabled or disabled.

(Cancel Reply)

Get updates in your inbox.

the Chromium logo

The Chromium Projects

Run chromium with command-line switches.

There are command-line switches that Chromium (and Chrome) accept in order to enable particular features or modify otherwise default functionality.

There is no list of all switches, but most of the existing switches can be found at https://peter.sh/examples/?/chromium-switches.html .

Note : Chrome switches (e.g., --incognito ) and Chrome flags (e.g., chrome://flags/#ignore-gpu-blocklist ) are separate configurations. Some features can be enabled by a command-line switch, flag or both.

It is important to note that some switches are intended for development and temporary cases. They may break, change, or be removed in the future without notice. IT admins looking to manage Chrome for their organization should instead use enterprise policies .

Note that if you look at chrome://flags to see if the command-line option is active, the state might not be accurately reflected. Check chrome://version for the complete command-line used in the current instance.

  • Exit any running-instance of Chrome (e.g., navigate to chrome://quit ).
  • Right click on your "Chrome" shortcut.
  • Choose properties.
  • --disable-gpu-vsync
  • With that example flag, it should look like below (replacing "--disable-gpu-vsync" with any other command-line switch you want to use): chrome.exe --disable-gpu-vsync
  • Launch Chrome like normal with the shortcut.

Quit any running instance of Chrome (by navigating to chrome://quit ).

Run your favorite Terminal application.

In the terminal, run commands like below (replacing "--remote-debugging-port=9222" with any other command-line switch you want to use):

Quit any running instance of Chrome (e.g., navigate to chrome://quit ).

Run your favorite terminal emulator.

If you are building Chromium from the source, you can run it with command-line switches by adding them in the Experimental Settings.

  • Open the Settings app
  • Go to Chromium/Experimental Settings
  • Add your switches in the "Extra flags (one per line)". Don't forget to switch on the "Append Extra Flags" setting.

It is not possible to run with flags the official releases (Google Chrome from App Store or Testflight).

V8 can take a number of flags (command-line switches) as well, via Chrome's js-flags flag. For example, this traces V8 optimizations:

To get a listing of all possible V8 flags:

Browse the V8 docs for more flags for V8.

Visit about:version to review the command-line switches that are effective in the app.

If you are running on a rooted device or using a debug build of Chromium, then you can set switches like so:

You can also install, set switches, and launch with a single command:

For production build on a non-rooted device, you need to enable "Enable command line on non-rooted devices" in chrome://flags, then set command-line in /data/local/tmp/chrome-command-line. When doing that, mind that the first command-line item should be a "_" (underscore) followed by the ones you actually need. Finally, manually restart Chrome ("Relaunch" from chrome://flags page might no be enough to trigger reading this file). See https://crbug.com/784947 .

ContentShell on Android

There's an alternative method for setting command-line switches with ContentShell that doesn't require building yourself:

  • Download a LKGR build of Android .
  • This will include both ChromePublic.apk and ContentShell.apk
  • Install ContentShell APK to your device.
  • Run this magic incantation

This will launch contentshell with the supplied switches. You can apply whatever commandLineArgs you want in that syntax.

Android WebView

This is documented in the chromium tree .

  • Put the device into dev mode, disable rootfs verification, and bring up a command prompt .
  • Modify /etc/chrome_dev.conf (read the comments in the file for more details).
  • Restart the UI via: sudo restart ui
  • Chrome DevTools

Experiments

Sofia Emelianova

To enable an experiment:

  • Open Settings .
  • In the Experiments tab, search for the experiment you would like to try in the Filter textbox.
  • If required, click Reload DevTools in the prompt at the top.

The next time you open DevTools, the experiment is enabled. To disable an experiment, clear the corresponding checkbox.

The Experiments tab.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2023-02-16 UTC.

AskVG

[Tip] How to Use Multiple “Disable-Features” Parameters in Chrome and Edge Shortcuts

- Last updated on December 23, 2020 by VG

UPDATE: The method given in this article will work in both Google Chrome and Microsoft Edge web browsers.

We have shared many articles in past for Google Chrome and Microsoft Edge web browsers which include usage of two secret command-line parameters called “–disable-features” and “–enable-features” . These two parameters or flags can be used in Google Chrome to disable or enable certain features and functionality which is not possible using Chrome settings, chrome://flags page, etc such as removing toolbar buttons, etc.

Following are a few Chrome articles which utilize “–disable-features” parameter:

  • [Tip] Remove Media Controls Button from Google Chrome Toolbar
  • [Tip] Remove “Extensions” Menu Button from Google Chrome Toolbar
  • [Fix] Google Chrome Crashes With “Aw, Snap!” Error on Startup or Opening Websites
  • [Fix] Disable Forced Dark Theme Mode in Google Chrome in Windows 10

The “–disable-features” and “–enable-features” parameters are used by putting them in Google Chrome and Microsoft Edge shortcut’s properties . We add the parameter at the end of of the text string present in Target text box in shortcut’s properties window as shown in following screenshot:

Remove_Delete_Extensions_Menu_Button_Google_Chrome_Toolbar.png

What if you want to combine or add more than one “–disable-features” or “–enable-features” parameter in Chrome or Edge shortcut properties?

Recently an AskVG reader asked us following question:

What about if you already have an existing command entered? I already use the one disabling the godawful Global Media Controls button. Can I have both disabled or just one? Putting in a second parameter negates the first one. Hides the extension shortcut but brings back the media button whenever I play a video. I tried one space after Globalmediacontrols, and 2 spaces. Neither worked.

In this article, we’ll tell you how to use more than one “–disable-features” or “–enable-features” parameter in Google Chrome and Microsoft Edge shortcut properties .

Here we start:

For example, you want to put following 2 parameters together in Google Chrome shortcut’s properties:

--disable-features=GlobalMediaControls

--disable-features=ExtensionsToolbarMenu

If you’ll put both in default format one after one, it’ll not work. Only one “–disable-features” parameter will work.

To use both parameter and force them working, you’ll need to use following format:

--disable-features=GlobalMediaControls,ExtensionsToolbarMenu

--disable-features=ExtensionsToolbarMenu,GlobalMediaControls

So the trick it, use “–disable-features=” parameter only once and add all desired values after the Equal (=) sign separated by comma . Remember there must be no space between values.

Same trick applies to “–enable-features” parameter.

That’s it.

Also Check:

[Tip] Disable New Tab Hover Pop-ups and Restore Classic Tab Tooltips in Google Chrome

[Tip] Always Show Full URLs (Including HTTPS and WWW) in Google Chrome Address bar

You are here: Home » Google Chrome » [Tip] How to Use Multiple “Disable-Features” Parameters in Chrome and Edge Shortcuts

NOTE: Older comments have been removed to reduce database overhead.

I used these switches.

–disable-features=GlobalMediaControls <— This Works –disable-features=ExtensionsToolbarMenu <— this works for some of my chrome browsers.

Below, This doesn't work for Extension ICON REMOVAL in my new version 92- Chrome Portable 32 bit (portableapps.com) The Extension ICON at the Top Right, isn't gone when I use both of these switches now. Looks like google has removed recognition.

–disable-features=GlobalMediaControls,ExtensionsToolbarMenu –disable-features=ExtensionsToolbarMenu

–disable-features=ExtensionsToolbarMenu Doesn’t work in Google Chrome 92.0.4515.107 (Official Build) (64-bit) (cohort: Stable) Any reason why?

Leave a Comment

Your email address will not be published. Required fields are marked *

NOTE: Your comment may not appear immediately. It'll become visible once we approve it.

chrome disable experimental features command line

Disable randomized experiments?

John Williams's profile photo

John Williams

Alexei Svitkine's profile photo

Alexei Svitkine

If you start Chrome with a clean user dir, experiments from the server won't apply. So that's the easiest way to test the hypothesis. (Experiments will apply the next launch since the configs would have been downloaded and persisted to local state for next start up.)
On Tue, Sep 18, 2018, 5:44 PM 'John Williams' via Chromium-dev < [email protected] > wrote:
Is there a flag to run Chrome such that experimental features that are enabled for a certain percentage of profiles are always disabled? I had trouble reproducing  this issue , but when I created a new profile, I saw the behavior that was originally described, and one of my teammates thinks the difference is that the first profile I used was opted into an experiment that interacts with the bug I was trying to reproduce.
-- -- Chromium Developers mailing list: [email protected] View archives, change email options, or unsubscribe: http://groups.google.com/a/chromium.org/group/chromium-dev --- You received this message because you are subscribed to the Google Groups "Chromium-dev" group. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CALaH6DvWsv9nCpxgYGK_9RyJOo67rap%3Dq9B0uDzMrEmLju8mRA%40mail.gmail.com .

Primiano Tucci's profile photo

Primiano Tucci

To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAKFU2SANO%3D7bLC35FB4cUUbN_n_xosFouxZSCHU8jVW5%3D%2BMhHA%40mail.gmail.com .

PhistucK's profile photo

-- Chromium Developers mailing list: [email protected] View archives, change email options, or unsubscribe: http://groups.google.com/a/chromium.org/group/chromium-dev --- You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] .
  • Mobile Computing

chrome disable experimental features command line

  • Good to know
  • VPN for streaming
  • VPNs for gaming
  • Privacy news
  • VPN reviews
  • Windows 11 News
  • Windows 11 Help
  • Windows tips
  • Windows Update
  • Data Recovery
  • File Sharing
  • Microsoft Office
  • Firefox add-ons
  • Chrome Extensions
  • Internet Explorer
  • Microsoft Edge
  • Google Maps
  • Google Android
  • Thunderbird
  • Crypto & Blockchain
  • Development
  • Music and Video

List of Google Chrome command line switches

chrome command line switches

Google Chrome supports hundreds of different command line switches (or flags) that may add features to the browser, change how features work, or remove features from it.

Some switches are only useful to developers as they enable them to test certain features in Chromium, while others have practical uses that users of the web browser will appreciate as well.

List of Google Chrome Command Line Switches

The following list highlights important Chrome command line switches for users of the Google browser.

Chromium CommandDescription
--ash-force-desktopForces uses of the desktop version of Chrome
--disable-3d-apisDisables 3D APIs, including WebGL and Pepper 3D
--disable-accelerated-videoDisables GPU accelerated video
--disable-background-modeBackground apps won't continue to run when Chrome exits.
--disable-gpuDisables hardware acceleration using the GPU
--disable-pluginsPrevents all plugins from running
--disable-plugins-discoveryDisables the discovery of missing plugins
--disable-preconnectDisables speculative TCP/IP preconnections
--disable-translateDisables the Google Translate feature
--dns-prefetch-disableDisable DNS prefetching
--enable-kiosk-modeKiosk Mode for Chrome OS
--incognitoLaunches Chrome directly in Incognito private browsing mode
--media-cache-sizeDisk space used by media cache in bytes
--multi-profilesEnable multiple profiles in Chrome
--new-profile-managementEnable the new profile management in Chrome
--no-experimentsRun Chrome without experiments set in chrome://flags
--no-pingsNo hyperlink auditing pings
--no-referrersUse Chrome without sending referrers
--purge-memory-buttonAdd purge memory button to Chrome
--reset-variation-stateChange the field trials that the browser is currently signed up for
--restore-last-sessionRestore the last session on run
--ssl-version-minSpecify the minimum SSL version accepted
--start-maximizedStarts the Chrome window maximized.
--window-positionSpecify the initial window position using --window-position=x,y
--window-sizeSpecify the initial window size using --window-size=x,y

For a full list of switches, visit this blog post by Peter Beverloo .

How to Use a Command Line Switch in Chrome?

For the uninitiated, I'd like to walk you through the configuration process that explains how you can add one or multiple command line switches to the Chrome browser on Windows .

Chrome command line switches

You have two main options to execute command line switches on Chromium. First, you can open the Windows command line, change the directory to the Chrome directory, and run commands using chrome.exe,  followed by the commands that you want to run.

An example would be the following command executed in the Chrome application directory on the system:

chrome.exe --reset-variation-state

The second and the easier way to add a flag to Chrome is the following:

  • Tap on the Windows-key, type cmd and hit enter.
  • Use CD to change the directory to your Chrome profile directory.
  • If you are running Windows XP, it is %USERPROFILE%\Local Settings\Application Data\Google\Chrome\Application
  • If you are running Windows Vista or newer, it is %LOCALAPPDATA%\Google\Chrome\Application
  • Type chrome.exe followed by the space-key, and then the command line switches you want to run. Note that they always begin with two dashes.

This is great for testing purposes, but if you like a certain command and want to run it at all times, you may want to make those changes permanent so that they are automatically used whenever you load Chrome.

Adding Chrome Switches to Desktop Shortcuts/Icons

If you are starting Google Chrome from a shortcut that is placed on the desktop, taskbar or start menu, then you can easily add command line switches to it.  Just right-click the shortcut, locate Google Chrome there, right-click on it and select Properties.

The Shortcut tab should open up automatically. It displays the load path of the browser in the target field. At the end of the field, after the closing ", add a space, and then the command line switch you want to use. You can add multiple switches, one after the other separated by a single space. For example, this is useful if you want to create a Chrome icon that directly opens the Incognito mode. Just insert the incognito command line flag into the shortcut target and you are done.

Chrome command line

Related content

chrome disable experimental features command line

Google is killing uBlock Origin in Chrome, but this trick lets you keep it for another year

Google

The end of Patreon? Google is implementing micro-payments into Chrome

chrome disable experimental features command line

About Chrome's "These extensions may soon no longer be supported" message

Cookies

Google gives up: third-party cookies won't go away after all in Chrome

Chrome Download Warning reason

Google Chrome will soon throw security warnings at you that you cannot ignore

chrome disable experimental features command line

Chrome sends AI history search data to Google

OH, I thought of a quick follow up comment. I think how the taskbar manages icons is a general problem with Windows 11. Usually Windows does not separate different instances of an app into more than one icon. Example: File Manager. If you start two or more instances of File Manager, they all end up under one icon. You have to hover the mouse over the icon in order to select the instance that you need at a given time. What a pain. It would be very helpful if you could force Windows to separate instances of a given app onto more than one icon. OR just be able to right click one of the taskbar icons and ask Windows to SEPARATE them.

You can use third party programs like https://github.com/valinet/ExplorerPatcher to achieve the functionality you want. CAUTION: I make no promises about the safety of any links or third party software. Do your own research and use at your own risk.

I’m assuming you are in Windows and I have a couple of suggestions for you. #1 instead of using –user-data-dir, you might consider using *actual* profiles (for which chrome provides a nice GUI). With actual profiles, chrome can automatically create separate shortcuts (each with a custom icon) for each profile. Those shortcuts can then be individually “pinned to taskbar” and when opening chrome using those shortcuts, the corresponding windows should stay “stacked” under the correct icon/shortcut in the taskbar.

#2 The likely underlying cause for your windows sometimes stacking under a single icon, and sometimes multiple, is because the shortcuts you have made likely do not have the correct “AppUserModelId” assigned. Windows (I think from 7+) uses this property of WINDOWS and FILES (including .lnk shortcut files) to figure out which WINDOWS to stack on which SHORTCUTS/icons in the taskbar.

With a default installation of chrome with a single profile and single user-data-dir, all shortcuts and windows get the AppUserModelId “Chrome”.

With multiple user-data-dirs and one *acutal* profile per user-data-dir the WINDOWS will get an AppUserModelId like “Chrome.{user-data-dir value}.Default”. However, if you create your shortcuts using the file explorer or a script, then their AppUserModelId will still just be “Chrome”. That means default chrome windows *could* still get stacked on the icons you want to be custom and that custom windows may not stack on their icons (they might show up with separate “running” icons from the static pinned icon).

To fix this, create your shortcuts by running chrome with the user-data-dir and profile-directory command line options you want, then right-clicking the RUNNING icon and pinning THAT to the taskbar. Then close the window you just opened. Now hold “shift” key and right-click the new taskbar shortcut. Then select “properties”. You’ll notice that the “target” box for this shortcut likely does not have the command line options you used to start the program in the first place… that ok, we only did this to get the shortcut to have the same AppUserModelId as the WINDOW will have each time it runs. Go ahead and modify the shortcut to use all of the command line options you want. You can also modify the icons themselves to make each shortcut easy to distinguish.

I had to figure out how to do this so that I could have a default chrome and a chrome that goes through a proxy without changing the system proxy settings. For my use case, I actually did use a separate user-data-dir because I wanted to customize the icon. But if you are fine using the profile-specific icons Chrome generates, then I think you can just do it with normal profiles (and auto-generated shortcuts or the profile-directory command line option). The reason I recommend using Chrome’s actual profiles instead of separate user-data-dirs if you don’t need to is because: – chrome will create the shortcuts for you – chrome will create the icons for you – chrome will (I think) make sure the windows stack on icons in the taskbar properly – chrome provides a nice, easy way to switch a window from one profile to another without having to completely close the window or open a separate window.

I should have made this clearer… the “fix” in “#2” is only there as a manual option if: – you decide you need to user user-data-dir instead of actual profiles – you decide to use actual profiles but for some reason the auto-generated shortcuts aren’t working properly.

This is September and is the first time I’ve used this list. Hoping it’s ok to post 3 months after the last post. Reading the list questions and looking at the command line options, I have clearly not figured everything out.

I use several profiles in order to separate the tasks and purposes that I implement with Chrome. I have always use the primary Windows storage location and not the users\username location. AND I always configure each case using a shortcut. Here is an example of a Windows 11 command line from one of my shortcuts:

“C:\Program Files\Google\Chrome\Application\chrome.exe” –user-data-dir=p:\CHRM

I implement every unique profile using this approach, and it works very well. In this case, p is an encrypted drive. So I mount the drive, and start Chrome using the shortcut, and then unmount the drive when I’m done. I assume that everything I do in a particular session ends up in p, and is protected, essentially not accessible to anyone who might gain access to my computer. There is nothing major that needs to be fixed with this approach, as far as I know.

There is one (silly?) problem with this that I would really like to fix. With each instance of Chrome using a different profile, Windows usually puts a new icon in the task bar, so I can see every unique profile that I have started. The problem is that Windows or Chrome does not always start a new instance of Chrome using a different icon — i.e. occasionally there is one icon that is managing more than one instance of Chrome. This is IMPORTANT to me since I can have up to 10 or so copies of Chrome running. It is really inconvenient to have to remember where all of them (which are being used for different tasks or projects) are located. If you forget, you have to run your mouse down the taskbar, hover over each icon, to find out which one is managing more than one unique task.

I have not been able to figure out a setting that FORCES Windows and/or Chrome to create a unique icon for each unique task. Are there any ideas about how to do this, hopefully with the use of another command line switch.

TIA Richard Dent.

How to use –start-maximized switch on Mac OS? It seems to work only on Windows OS

How to change to download folder location for a given session from the command line ?

Any way to temporarily change the download folder for the session you’re launching from the command line?

how to open a minimized window?

Never mind, I fixed it myself. The reason I needed to open a minimized window using chromium command line switches was so that I could open it up with a batch file. However, I couldn’t find a chromium command line switch that would suit my purpose, so I made a .vbs file that simulated the keystrokes of manually minimizing a page after it’s open(ALT+SPACE+N) using the Wshshell.Sendkeys method and then coded my batch file to open a new window and then run the .vbs file.

is there any example i can use if i want to have (chrome.exe -no same adress http://test.com ) the argument is when the http://test.com is open , it will NOT open again in a new tab

Is there a way to open two tabs in the –app mode?

For example: chrome.exe -–new-window –app=google.com app=yahoo.com –new-tab

I am trying to open a webpage in kiosk mode and at the same time, I am loading a virtual keyboard unpacked extension to Chrome. The challenge is that when the webpage opens in kiosk mode, the same time the extension settings page also opens up on top of it. I have also tried closing that extension setting tab using sendkey (Ctrl+4 and Ctrl+W) but it closes the complete chrome instance. Here is the vb script that I am using.

Set WshShell = WScript.CreateObject(“WScript.Shell”) WshShell.run (“chrome.exe –kiosk http://gmail.com –load-extension=C:\LAUNCHER\keyboard”)

WshShell.AppActivate (“Chrome.exe”) WScript.Sleep 3000

‘WshShell.sendkeys (“^W”)

Any help will be appreciated.

Ouch… I realize that I’m answering this post a year after it’s posted. hmm…

I just had the same problem. I was opening three tabs and wanted to close the first one. At first I tried using WshShell.Sendkeys (“W”) like you did, but the problem was it closed all three tabs. However, I fixed this by using: WScript.Sleep 500 WshShell.SendKeys “^{F4}”

In your post, it says that you tried using Control+4, but I’m 99% sure that just takes you to the fourth opened tab if you have one(otherwise it does nothing). Using Control F4, however, is an alternate of using Control W, and it closes a tab. I’m not sure why Control F4 works and Control W doesn’t, but it might have something to do with the sleep statement.

Don’t forget to doskey your chrome taskkill and shortcut all of these. makes the little problems with having to kill manageable^

I am in need to start chrome with a certain width and height. If I use –window-size=800,600 anyway chrome will startup in full screen mode. I searched the web and cannot find any handy parameters like in firefox like “-height 800 -width 480”

The “not honoring outside links” issue is still there, and it makes this feature of pretty limited usage for Windows users. No command line switch is worth having URL links in emails no longer function when Chrome is already running.

I had the same problem of Chrome not obeying command switches (–kiosk) at re-load, but if you use task manager and kill of ALL running Chrome processes before attempting a Chrome reload, it will restart in kiosk mode every time :-) (Figured this out because it would work if auto-loaded after a reboot)

The processes remain when Chrome is not exited cleanly i.e.if Alt-F4 is used to exit kiosk mode

Am working on a simple way to overcome this.

So I’ve got a Chrome window open, and if I run “start chrome.exe -kiosk “http://localhost:3000” it doesn’t open it in Kiosk mode. However, if I run this w/ all Chrome windows closed, it works. This is unfortunate, as I’d love to start my app in fullscreen always, all the time. :/

Ekyl, google-chrome does not work… Try using –new-tab to open URL in a new tab rather than a new window.

Aaron, –new-window will open new windows and not new tabs.

EXAMPLE: chrome.exe http://www.google.com –new-tab

Daniel, –new-window will open new window AND new tabs if you specify mutiple address as Aaron mentioned EXAMPLE: chrome.exe –new-window http://www.google.com http://www.ghacks.net

I’m not sure if it was available when this was written, but you can now disable just WebGL using:

–disable-webgl

Any way to specify the Chrome window title? I’m opening many different Chrome instances, each one with its own profile, to test a web app, with many accounts. So many Chrome windows make me confused. Window titles would be nice.

In my opinion, the most useful: -d Opens a new tab with the specified destination, great for opening pages from the command line.

Example: google-chrome -d drive.google.com

–new-window [url] Opens a new window with the specified page (if an existing instance of Chrome was already running). You can specify multiple URLs and they will be opened as tabs in the new window.

@Martin – this is really useful , Thank you

Posting on an old thread here, but.. the problem with command line switches in Chrome (Windows) is once launched with one, no external links will work. In other words, if chrome is running and was launched using an command line argument–clicking, say, an html link in an email does nothing.

You can of course close the running instance of chrome, then the link will work (but it will launch chrome -without- args).

Nothing I’ve tried has fixed this, including explicitly setting Chrome as the default browser in Chrome://settings instead of in Windows internet settings. Same. Exact. Behavior.

Anyone using args with Chrome should be aware of this behavior–losing the ability to click an external link when chrome is active is a show stopper for me.

Thanks Martin, this was helpful. I’ve been through your instructions, but still not sure if the switch was applied. Is there a way to have Google tell me back what switches are on?

…and this one is very handy if you want to use Netflix in your browser without being prompt to download Netflix app on Windows 8 : –user-agent=”Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20100101 Firefox/21.0″ this way Netflix thinks you are running Windows 7 and doesn’t force you to get an app to continue.

I wish they would finally launch in Germany..

Martin… in the command description for –window-size, your example syntax specifies window-position, not window-size …shouldn’t it say:

Specify the initial window size using –window-size=x,y

Thank you, corrected!.

How can all this be added Cannot be added to target

–window-position=0,0 –window-size=900,900 –incognito –no-referrers –disable-remote-fonts –disable-webgl –disable-reading-from-canvas –disable-webgl-image-chromium –disable-webgl2 –disable-zero-copy –disable-gpu –disable-zero-copy –disable-3d-apis –disable-accelerated-2d-canvas –disable-2d-canvas-image-chromium –disable-2d-canvas-clip-aa –disable-webrtc-encryption –disable-webrtc-hw-decoding –disable-webrtc-hw-encoding –block-third-party-cookies

You’ve got VPN service and fast internet- so why not use it ^^ Although i do get the point of Not-wanting-to-set-it-permanently that way.. But hey, if your broadband connection allows it- why not =]

Leave a Reply Cancel reply

Save my name, email, and website in this browser for the next time I comment.

Advertisement

Spread the word, hot discussions.

chrome disable experimental features command line

Recently Updated

chrome disable experimental features command line

Latest from Softonic

About ghacks.

Ghacks is a technology news blog that was founded in 2005 by Martin Brinkmann. It has since then become one of the most popular tech news sites on the Internet with five authors and regular contributions from freelance writers.

  • Legal Information
  • Terms of use
  • Privacy Policy
  • Cookie Policy
  • Cookie settings
  • Advertise with Us
  • Martin Brinkmann
  • Mike Turcotte

chrome disable experimental features command line

Stack Exchange Network

Stack Exchange network consists of 183 Q&A communities including Stack Overflow , the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

How to open Google Chrome with extensions disabled / turned off?

Google Chrome is crashing when I try to open it. I'm assuming that it's probably a bad extension that's causing the problem.

How can I start up Chrome with all extensions disabled / turned off?

  • google-chrome
  • google-chrome-extensions

ChrisF's user avatar

  • 14 Not really relevant to Stack Overflow, but passing the --disable-extensions flag should do it. –  thirtydot Commented Mar 7, 2011 at 22:50
  • My issue ended up NOT being a typical extension, but rather Adobe Flash. The indicator was that the crash report showing nvSCPAPI.dll_unloaded was the issue. Re-installing flash from get2.adobe.com/flashplayer/otherversions fixed the issue and I was able to start Chrome again. –  user226795 Commented May 25, 2013 at 14:24
  • I've figured out wtih this question into my blog post "how to disable cors in chrome browser": alfilatov.com/posts/run-chrome-without-cors –  Alex Filatov Commented Sep 15, 2020 at 17:53

7 Answers 7

thirtydot is correct, run Chrome with the --disable-extensions command-line option to disable extensions. Technically, it doesn’t so much disable all the extensions as much as hide them so that Chrome thinks that none are installed, so this won’t help in your particular case. t_b_b , since you cannot disable extensions in-browser and the command-line argument hides all extensions, what you want to do is to manually disable them. Open your User Data folder then open the file Preferences in a text-editor. Now scroll down to the line starting the settings blocks: "settings": { Each of the extensions will have its own block inside the settings block. To disable them, change their states to 0: "state": 1

To simplify things, just do a search for all lines containing

and change them to

Synetech's user avatar

  • Note that this doesn't seem to stick for me. When I edit Preferences it works fine the first time. If I then start/quit Chrome the states revert to their previous values. So I need to replace the Preferences file before each start. –  studgeek Commented Apr 27, 2014 at 20:03
  • @studgeek, then you are missing something or modifying it while Chrome is still running (it reverts the setting when you exit) because this is how Chrome determines which extensions are enabled or disabled, and if didn’t work, then you would have to re-enable/disable everything each time you run it (when running normally), but clearly you don’t; it remembers which are enabled or disabled. Also, make sure you are taking extra care with things like commas because a missing or extra one will render the JSON syntax invalid which causes Chrome to ignore the file. –  Synetech Commented May 11, 2014 at 2:19
  • 1 Consider tacking on "--safe-plugins" for good measure. –  Pup Commented Aug 1, 2014 at 22:58
  • 15 --disable-extensions does not work anymore –  MightyPork Commented Nov 7, 2015 at 21:13
  • 6 --disable-extensions does still work, I just tried it. You need to make sure no "Google Chrome" processes are running in the task manager. Make sure to exit the Google Chrome service that's running in the notification area. This is for the Google Chrome apps that can run in the background even when all of the Chrome windows are closed. –  Jeff Rausch Commented Aug 18, 2016 at 14:39

Open an incognito window.

"If you want to create a shortcut that opens Chrome in incognito mode, duplicate an existing Chrome shortcut, right-click on the shortcut, select "Properties" and append this flag to the target value: --incognito (don't forget to add a space to separate the flag)."

Google Chrome Safe Mode

  • 5 Despite what the linked blog says, Incognito Mode is not a replacement for Firefox's Safe Mode. –  dotancohen Commented May 8, 2014 at 7:41
  • 1 Yeah, but it certainly does the trick in most cases. –  Grinn Commented Mar 4, 2016 at 18:53

Run Chrome with commandline switch

This will run the plugin processes inside the sandbox and will not crash Chrome if you are sure that it is the plugins that are crashing Chrome.

AshTee's user avatar

  • 4 Handy, but plugins are different from extensions. –  Mu Mind Commented Sep 22, 2012 at 19:46

Per http://peter.sh/experiments/chromium-command-line-switches/

--bwsi Indicates that the browser is in "browse without sign-in" (Guest session) mode. Should completely disable extensions, sync and bookmarks. ↪

Colonel Panic's user avatar

  • My Chrome browser immediately crashed upon start and this was the only switch that actually helped me. In my case, the recently installed PureVPN Proxy extension seems to have caused the issue. –  Semmel Commented Jul 24, 2023 at 10:20

This Chrome extension disables all extensions temporarily:

https://chrome.google.com/webstore/detail/disable-extensions-tempor/lcfdefmogcogicollfebhgjiiakbjdje?hl=en

I have tried it and it works well, but not sure if it disables them in the manual sense @synetech says they should for debugging...

Martin's user avatar

  • 27 An extension for disabling all extensions? Made my day –  Ray Commented Aug 23, 2016 at 21:53

I tried all the suggestions for launching Chrome with plugins, no plugins, incognito and so forth... nothing worked. Even the menus launch a Chrome page, so if Chrome gives you the "Aw Snap" message, it really means - Aw Snap! You can't even get to the tools and settings.

I did a Ctrl + Alt + Del and found chrome.exe in the task manager. Then I forced it closed, Chrome finally came up again. It has something to do with syncing your Gmail account when Chrome launches: if that is failing, then Chrome turns into Chris Rock.

ale's user avatar

  • 6 "Chris Rock"? I'm not getting the reference. –  ale Commented Oct 22, 2012 at 17:15
  • his last name is rock, rocks are like bricks, when you brick a tech gadget it becomes useless? –  benrifkah Commented Oct 28, 2015 at 20:44

You might need to delete the locally stored user profile. Try this:

  • Open the window of the user you want to delete. (Check the icon in the top corner to make sure you're in the right user)
  • Click the Chrome menu on the browser toolbar.
  • Select Settings.
  • In the “Users” section, select the user that you want to delete.
  • Click Delete.

Alternatively, you can click the X icon to the right of the user. In the confirmation dialog that appears, click Delete.

tekNorah's user avatar

You must log in to answer this question.

Not the answer you're looking for browse other questions tagged google-chrome google-chrome-extensions ..

  • The Overflow Blog
  • Battling ticket bots and untangling taxes at the frontiers of e-commerce
  • Ryan Dahl explains why Deno had to evolve with version 2.0
  • Featured on Meta
  • We've made changes to our Terms of Service & Privacy Policy - July 2024
  • Bringing clarity to status tag usage on meta sites

Hot Network Questions

  • Could a gas giant still be low on the horizon from the equator of a tidally locked moon?
  • How can I cover all my skin (face+neck+body) while swimming outside (sea or outdoor pool) to avoid UV radiations?
  • What if something goes wrong during the seven minutes of terror?
  • What is the meaning of the biblical term "divine nature", and what does it tell us about the biblical use of the title "God"?
  • Is sudoku only one puzzle?
  • Adverb for Lore?
  • How did this zucchini plant cling to the zip tie?
  • Is "UN law" a thing?
  • Sci-fi book with a part-human, part-machine protagonist who lives for centuries to witness robots gain sentience and wage war on humans
  • Does processed or decrypted evidence pay out more than regular evidence?
  • Is there a grammatical term for the ways in which 'to be' is used in these sentences?
  • Why would an incumbent politician or party need to be re-elected to fulfill a campaign promise?
  • Is math a bad discipline for teaching jobs or is it just me?
  • Tipped Wages: What is a Tip
  • Use all eight of the given polygons to tile a parallelogram
  • GNU grep: This manpage is not compatible with mandoc
  • How to install a second ground bar on a Square D Homeline subpanel
  • Large Sapient Octopus: How could they survive in warm waters?
  • Move line matching string to top of the file
  • Where exactly was this picture of a huge solar eruption taken?
  • What does it mean to formalise a philosophy or philosophical claim?
  • What does "off" mean in "for the winter when they're off in their southern migration breeding areas"?
  • Does the ship of Theseus have any impact on our perspective of life and death?
  • How common is it for external contractors to manage internal teams, and how can we navigate this situation?

chrome disable experimental features command line

  • Help Center
  • Google Chrome
  • Privacy Policy
  • Terms of Service
  • Submit feedback

Navigation Menu

Search code, repositories, users, issues, pull requests..., provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications You must be signed in to change notification settings

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement . We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support chrome 'flags' and all command line options? #18253

@burtonator

burtonator commented May 10, 2019

for this project. that this project adheres to.

I'd like to have more control over the chrome renderer including flags and command line options.

There are experimental features of chrome I would like to play with.

These can be accessed in a browser as chrome://flags but this URL doesn't work with Electron.

Additionally there are command line arguments I'd like to specify like '--disable-site-isolation-trials' which would allow me to work around a bug that impact Electron right now.

  • 👍 1 reaction

Looks like it 'might' be able to do this now with --enable-feature= but I don't have a list of features to test it out with.

Sorry, something went wrong.

@MarshallOfSound

MarshallOfSound commented May 10, 2019

Chrome features that are flagged can be enabled / disabled with and .

Other cli flags can also be provided. You do both of these through the command line API

@MarshallOfSound

mingjun97 commented Aug 24, 2019

I'm trying to manupilate these two flags inside Chrome, but it seems that these flags don't have corresponding cli flags. The flags I've encontered are and . They can be changed by chrome://flags//#enable-media-session-service and chrome://flags//#hardware-media-key-handling How can I disable it?

I've searched it a lot but didn't find solution or workaround.

Thanks

  • 👍 2 reactions

@Pabloitto

Pabloitto commented Feb 15, 2020

Any solution for this ?

@rocka

rocka commented Feb 21, 2020

in case you are still wandering, and someone searching for this issue, I found a workaround:

Open some task manager, you should be able to see many renderer processes of chrome, and their command lines, take a screenshot or copy one of those, especially and .

Then disable/enable desired flags in chrome, restart chrome, and copy those command line again:

In my case, It is in .

Add them using

.commandLine.appendSwitch('disable-features', 'HardwareMediaKeyHandling,MediaSessionService');

before 's event triggered. Works fine with electron 7.x and 8.x on Linux, which disable chromium's poor MPRIS implementation.

  • 👍 14 reactions
  • 🎉 2 reactions
  • ❤️ 6 reactions
  • 🚀 1 reaction

@rocka

Timmmm commented Dec 15, 2020

You don't need to use the task manager - just go to .

  • ❤️ 1 reaction

@aminya

aminya commented Jan 11, 2021

How can I enable experimental web assembly features?

  • 👀 2 reactions

@mikelxk

parkerlreed commented Feb 1, 2023 • edited Loading

Is there a way to pass this on the command line itself rather than in the source code?

I'm wanting to pass  --window-size=1024,640 --force-device-scale-factor=1.25 --device-scale-factor=1.25

Into an existing application but have been unsuccessful

@bmaupin

oalfroukh commented Jan 9, 2024

and .

Other cli flags can also be provided. You do both of these through the command line API

Hi
Hope you're doing well!

Any idea how we can enable Chrome policy via the command line, for example, enable , or needs to request that as a feature to support it by itself?

Thanks in advance!

No branches or pull requests

@burtonator

At the edge of tweaking

Advertisement

To Add Multiple Disable-Features To Edge and Chrome Shortcut

  • Right-click on the  Microsoft Edge or Google Chrome desktop shortcut.
  • Select  Properties  from the context menu.

Add Mutiple Disable-Features To Chrome Shortcut

  • Launch the browser with the modified shortcut.

You are done.

So, you get the idea. Just list the options separated by a comma after the --disable-features= portion in the shortcut target, and launch the browser with the modified shortcut.

Finally, similar to the above, you can specify multiple features for the  --enable-features option.

Specify Multiple Enable-Features for Edge and Chrome Shortcuts

  • Right-click on the shortcut for Microsoft Edge or Google Chrome .
  • From the right click menu, select Properties .

Mutiple Enable-Features For Edge Shortcut

You are done. The example command line is --enable-features=TabSearch,msDownloadsHub  that enables the Tab Search and the new Downloads flyout features in Edge.

That's all about the topic. Thanks to our reader Patrik Krajčovič for the post idea.

Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:

If you like this article, please share it using the buttons below. It won't take a lot from you, but it will help us grow. Thanks for your support!

Author: Sergey Tkachenko

Sergey Tkachenko is a software developer who started Winaero back in 2011. On this blog, Sergey is writing about everything connected to Microsoft, Windows and popular software. Follow him on Telegram , Twitter , and YouTube . View all posts by Sergey Tkachenko

7 thoughts on “How to Add Multiple Disable-Features To Edge and Chrome Shortcut”

Here are two more which I have been using since the release of Edge 88. “–disable-features=msHistoryHub,msUsePrerenderNTP”

The “msHistoryHub” was necessary because the Edge devs made it even more difficult to get to Clear Browsing Data. The “msUsePrerenderNTP” was necessary because that prerendering of the new tab page was causing 100% CPU on that one process.

Question: I spent hours over the past 2 days going over Edge source code trying to find a list of all features for Edge to enable/disable, but it seems to omit most things that are Edge-specific likely under the terms of it being branded code. For example, disabling certain A/B testing and so on. Does anyone know how to get a list of all Edge features to enable/disable using –enable-features and –disable-features, but also other Edge-specific command line flags such as: https://peter.sh/experiments/chromium-command-line-switches/ ?

The feature TabSearch not working anymore in Edge CAN.

Thanks, Sergey!

No, thanks to you!

Just for reference, –disable-features=LensStandalone,LensRegionSearch works for disabling the new “search with Google Lens” feature on desktop Chrome and restores the old search with Google image search when right clicking on an image. This was previously possible with the chrome flag #enable-lens-region-search but that no longer works in the current version of Chrome.

Thank you for a great article! How does this work on MacOS, how do you enabled such features there? I’m not seeing things under edge://flags (for Windows or Mac), but not sure how to do something like this for Mac, unless launching via Terminal is the only way.

Hello Bob, I have no Mac experience.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

transparent

Privacy Overview

css.php

  • Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers
  • Advertising & Talent Reach devs & technologists worldwide about your product, service or employer brand
  • OverflowAI GenAI features for Teams
  • OverflowAPI Train & fine-tune LLMs
  • Labs The future of collective knowledge sharing
  • About the company Visit the blog

Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Get early access and see previews of new features.

I can't enable experimental JavaScript,

I am trying to use experimental JS. I enabled flag "Experimental JavaScript" in chrome://flags, but Function.prototype.toMethod() doesn't work. What am I doing wrong?

  • google-chrome-flags

Ruslan Buloichyk's user avatar

  • After enabling experimental features you have to relaunch chrome for the changes to take effect.
  • I believe Function.prototype.toMethod(){...} did not make it to the standard and I believe it is ripped out from the experimental features as well.

https://stackoverflow.com/a/27511897/11926958

sonkatamas's user avatar

Your Answer

Reminder: Answers generated by artificial intelligence tools are not allowed on Stack Overflow. Learn more

Sign up or log in

Post as a guest.

Required, but never shown

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy .

Not the answer you're looking for? Browse other questions tagged javascript google-chrome-flags or ask your own question .

  • The Overflow Blog
  • Battling ticket bots and untangling taxes at the frontiers of e-commerce
  • Ryan Dahl explains why Deno had to evolve with version 2.0
  • Featured on Meta
  • We've made changes to our Terms of Service & Privacy Policy - July 2024
  • Bringing clarity to status tag usage on meta sites
  • Feedback requested: How do you use tag hover descriptions for curating and do...

Hot Network Questions

  • Use all eight of the given polygons to tile a parallelogram
  • Is it safe to carry Butane canisters bought at sea level up to 5500m?
  • How did this zucchini plant cling to the zip tie?
  • When does bundling wire with zips become a problem?
  • Is it possible to prove that any two points of a convex and complete metric space M are connected by some metric segment without the axiom of choice?
  • Is sudoku only one puzzle?
  • How much was Boole influenced by Indian logic?
  • LED lights tripping the breaker when installed in the wrong direction?
  • One number grid, two ways to divide it
  • How common is it for external contractors to manage internal teams, and how can we navigate this situation?
  • Do spell-like abilities have descriptors?
  • Is magnetic flux in a transformer proportional to voltage or current?
  • Which aircraft has the simplest folding wing mechanism?
  • Font showing in Pages but not in Font book (or other apps)
  • Is there a way to say "wink wink" or "nudge nudge" in German?
  • What does "off" mean in "for the winter when they're off in their southern migration breeding areas"?
  • Are epochs the same as data duplication?
  • Where exactly was this picture of a huge solar eruption taken?
  • How Subjective is Entropy Really?
  • On the definition on almost sure convergence
  • VerificationTest leaks message?
  • Arrangements of lines in plane
  • Why is the identity of the actor voicing Spider-Man kept secret even in the commentary?
  • Why does \appendix reset the counter of the level below the main sectioning level?

chrome disable experimental features command line

IMAGES

  1. How to Use Multiple Enable-Features and Disable-Features with Chrome

    chrome disable experimental features command line

  2. Google promotes some experimental features in Chrome with new

    chrome disable experimental features command line

  3. Enable or disable flyout design of downloads panel in Google Chrome

    chrome disable experimental features command line

  4. How To Add Experimental Features In Chrome Using Command Line Switches

    chrome disable experimental features command line

  5. How To Add Experimental Features In Chrome Using Command Line Switches

    chrome disable experimental features command line

  6. How To Add Experimental Features In Chrome Using Command Line Switches

    chrome disable experimental features command line

COMMENTS

  1. List of Chromium Command Line Switches « Peter Beverloo

    There are two ways to enable the IWAs: by feature flag and by enterprise policy. If IWAs are enabled by any of the mentioned above ways then this flag is passed to the renderer process. This flag should not be used from command line. To enable IWAs from command line one should use kIsolatedWebApps feature flag. ↪--enable-lacros-for-testing ⊗

  2. How To Add Experimental Features In Chrome Using Command Line Switches

    How to enable experimental features in Chrome (and Edge) using command line switches. Create a shortcut to Chrome on the Desktop. Right-click on the Chrome shortcut and select Properties. Go to the Target tab. In the Target field, go to the end of the path and append -enable-features=featurename. Replace featurename with the actual name of ...

  3. Run Chromium with command-line switches

    Check chrome://version for the complete command-line used in the current instance. Windows. Exit any running-instance of Chrome (e.g., navigate to chrome://quit). Right click on your "Chrome" shortcut. Choose properties. At the end of your "Target:" line add the command-line switch. For example: --disable-gpu-vsync

  4. Test experimental features in Chrome

    Turn features on or off. To use experimental features, download Chrome Beta. Open Chrome. Next to the address bar, select Experiments . Next to the feature's name and description, select the down arrow Enabled. Restart your browser. Give feedback on features. If you test any features, you can give feedback about:

  5. Experiments

    Settings > Experiments let you enable and disable experimental features of Chrome DevTools. Caution: Chrome DevTools experiments may be unstable. To enable an experiment: Open Settings. In the Experiments tab, search for the experiment you would like to try in the Filter textbox. Enable the checkbox next to the experiment. Close Settings.

  6. How to enable chrome features from the command line?

    1. Chrome/Chromium will add --flag-switches-begin --flag-switches-end. If you run Chrome normally w/o adding any flags, those switches will still be passed, which you can see in chrome://version page. AFAIK, if the switches are present in that page then those features have been enabled. - Asesh.

  7. chrome-launcher/docs/chrome-flags-for-tools.md at main

    --disable-extensions: Disable all chrome extensions--disable-features=InterestFeedContentSuggestions: Disables the Discover feed on NTP--disable-features=Translate: Disables Chrome translation, both the manual option and the popup prompt when a page with differing language is detected.--hide-scrollbars: Hide scrollbars from screenshots.

  8. [Tip] How to Use Multiple "Disable-Features" Parameters in Chrome and

    Here we start: For example, you want to put following 2 parameters together in Google Chrome shortcut's properties: --disable-features=GlobalMediaControls. --disable-features=ExtensionsToolbarMenu. If you'll put both in default format one after one, it'll not work. Only one "-disable-features" parameter will work.

  9. List of Command Line switches for google-chrome

    This help content & information General Help Center experience. Search. Clear search

  10. Disable randomized experiments?

    Then, I believe you can disable them one by one (or create a script that takes the names and creates a command line disabling all of them) using some command flag. (Of course, in case it does not list all of the available (not necessarily enabled) field trials, then some field trial may be added the next time you launch Chrome.

  11. List of Google Chrome command line switches

    The following list highlights important Chrome command line switches for users of the Google browser. Chromium Command. Description. --ash-force-desktop. Forces uses of the desktop version of Chrome. --disable-3d-apis. Disables 3D APIs, including WebGL and Pepper 3D. --disable-accelerated-video.

  12. How to open Google Chrome with extensions disabled / turned off?

    Open your User Data folder then open the file Preferences in a text-editor. Now scroll down to the line starting the settings blocks: "settings": { Each of the extensions will have its own block inside the settings block. To disable them, change their states to 0: "state": 1. To simplify things, just do a search for all lines containing.

  13. Disable chrome://flags from outside of Chrome

    This help content & information General Help Center experience. Search. Clear search

  14. Support chrome 'flags' and all command line options? #18253

    Open some task manager, you should be able to see many renderer processes of chrome, and their command lines, take a screenshot or copy one of those, especially enable-features and disable-features. Then disable/enable desired flags in chrome, restart chrome, and copy those command line again:

  15. How to Add Multiple Disable-Features To Edge and Chrome Shortcut

    Right-click on the Microsoft Edge or Google Chrome desktop shortcut. Select Properties from the context menu. Add --disable-features=feature1,feature2,feature2 separated by a comma after the .exe portion in the Target box. For example, the command line --disable-features=TabSearch,GlobalMediaControls will disable the Tab Search and Global Media ...

  16. Cannot enable google chrome's flag "Experimental JavaScript" via

    I am also unable to set flags when running google-chrome from command line google-chrome-stable --args --flag-switches-begin --enable-features=javascript-harmony --flag-switches-end. ... Setting specific chrome flags in puppeteer (enable and disable) ... Problems with experimental chromium feature? Related questions.

  17. google chrome flags

    After enabling experimental features you have to relaunch chrome for the changes to take effect. ... Unable to enable-experimental-web-platform-features by command line for chrome. 10. ... Chrome DevTools Enable/Disable Javascript not showing. 4.