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 2014-12-20.

Condition Explanation
--activate-on-launch Activate (make foreground) myself on launch. Helpful when Chrome is launched on the command line (e.g. by Selenium). Only needed on Mac.
--allow-cross-origin-auth-prompt Allows third-party content included on a page to prompt for a HTTP basic auth username/password pair.
--allow-file-access On ChromeOS, file:// access is disabled except for certain whitelisted directories. This switch re-enables file:// for testing.
--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-http-background-page Allows non-https URL for background_page for hosted apps.
--allow-outdated-plugins Don't block outdated plugins.
--allow-running-insecure-content By default, an https page cannot run JavaScript, CSS or plug-ins from http URLs. This provides an override to get the old insecure behavior.
--allow-sandbox-debugging Allows debugging of sandboxed processes (see zygote_main_linux.cc).
--allow-websocket-proxy Specifies comma separated list of extension ids to grant access to local websocket proxy.
--alsa-input-device[1] The Alsa device to use when opening an audio input stream.
--alsa-output-device[1] The Alsa device to use when opening an audio stream.
--always-authorize-plugins Prevents Chrome from requiring authorization to run certain widely installed but less commonly used plug-ins.
--always-enable-dev-tools Enable web inspector for all windows, even if they're part of the browser. Allows us to use our dev tools to debug browser windows itself.
--app Specifies that the associated value should be launched in "application" mode.
--app-id Specifies that the extension-app with the specified id should be launched according to its configuration.
--apps-checkout-url Overrides the apps checkout URL, which is used to determine when to expose some private APIs.
--apps-no-throb Disable throbber for extension apps.
--assert-test Causes the browser process to throw an assertion on startup.
--auth-negotiate-delegate-whitelist Whitelist of servers that Negotiate will generate delegated Kerberos tickets for.
--auth-schemes HTTP authentication schemes to enable. This is a comma-separated list of authentication schemes (basic, digest, ntlm, and negotiate). By default all schemes are enabled. The primary use of this command line flag is to help triage authentication-related issues reported by end-users.
--auth-server-whitelist Whitelist of servers which NTLM and Negotiate can automatically authenticate with using the default credentials of the currently logged in user.
--auto The values the kTouchEvents switch may have, as in --touch-events=disabled. auto: enabled at startup when an attached touchscreen is present.
--automation-channel The value of this switch tells the app to listen for and broadcast automation-related messages on IPC channel with the given ID.
--block-reading-third-party-cookies When the option to block third-party cookies from being set is enabled, also block third-party cookies from being read.
--browser-subprocess-path Path to the exe to run for the renderer and plugin subprocesses.
--bwsi Indicates that the browser is in "browse without sign-in" (Guest session) mode. Should completely disable extensions, sync and bookmarks.
--channel The value of this switch tells the child process which IPC channel the browser expects to use to communicate with it.
--check-for-update-interval How often (in seconds) to check for updates. Should only be used for testing purposes.
--chrome-frame Run Chrome in Chrome Frame mode. This means that Chrome expects to be run as a dependent process of the Chrome Frame plugin.
--chrome-version Tells chrome to load the specified version of chrome.dll on Windows. If this version cannot be loaded, Chrome will exit.
--chromeos-frame[2] Use the frame layout used in chromeos.
--clear-token-service Clears the token service before using it. This allows simulating the expiration of credentials during testing.
--cloud-print-delete-file Used with kCloudPrintFile. Tells Chrome to delete the file when finished displaying the print dialog.
--cloud-print-file Tells chrome to display the cloud print dialog and upload the specified file for printing.
--cloud-print-file-type Specifies the mime type to be used when uploading data from the file referenced by cloud-print-file. Defaults to "application/pdf" if unspecified.
--cloud-print-job-title Used with kCloudPrintFile to specify a title for the resulting print job.
--cloud-print-proxy-id The unique id to be used for this cloud print proxy instance.
--cloud-print-service The URL of the cloud print service to use, overrides any value stored in preferences, and the default. Only used if the cloud print service has been enabled. Used for testing.
--compress-sys-feedback[2] Triggers ChromeOS system log compression during feedback submit.
--conflicting-modules-check Causes the browser process to inspect loaded and registered DLLs for known conflicts and warn the user.
--country The Country we should use. This is normally obtained from the operating system during first run and cached in the preferences afterwards. This is a string value, the 2 letter code from ISO 3166-1.
--crash-test Causes the browser process to crash on startup.
--debug-children Will add kDebugOnStart 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 kDebugOnStart flag passed on or not.
--debug-devtools-frontend Path to the inspector files on disk (allows reloading of devtool files without having to restart the browser).
--debug-enable-frame-toggle Enables a frame context menu item that toggles the frame in and out of glass mode (Windows Vista and up only).
--debug-on-start If the program includes base/debug/debug_on_start_win.h, the process will (on Windows only) start the JIT system-registered debugger on itself and will wait for 60 seconds for the debugger to attach to itself. Then a break point will be hit.
--debug-plugin-loading Dumps extra logging about plugin loading to the log file.
--debug-print[3] Enables support to debug printing subsystem.
--debug-views-paint[4] Enables debug paint in views framework. Enabling this causes the damaged region being painted to flash in red.
--device-management-url Specifies the URL at which to fetch configuration policy from the device management backend.
--diagnostics Triggers a plethora of diagnostic modes.
--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-compositing Disables accelerated compositing.
--disable-accelerated-layers Disables the hardware acceleration of 3D CSS and animation.
--disable-accelerated-video Disables GPU accelerated video display.
--disable-application-cache Disable the ApplicationCache.
--disable-audio TODO(scherkus): remove --disable-audio when we have a proper fallback mechanism.
--disable-auth-negotiate-cname-lookup Disables CNAME lookup of the host when generating the Kerberos SPN for a Negotiate challenge. See HttpAuthHandlerNegotiate::CreateSPN for more background.
--disable-background-mode Disables background mode (background apps will not keep chrome running in the background).
--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-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-breakpad Disables the crash reporting.
--disable-client-side-phishing-detection Disables the client-side phishing detection feature. Note that even if client-side phishing detection is enabled, it will only be active if the user has opted in to UMA stats and SafeBrowsing is enabled in the preferences.
--disable-connect-backup-jobs Disables establishing a backup TCP connection if a specified timeout is exceeded.
--disable-custom-jumplist Disables the custom JumpList on Windows 7.
--disable-data-transfer-items Disables data transfer items.
--disable-databases Disables HTML5 DB support.
--disable-desktop-notifications Disables desktop notifications (default enabled on windows).
--disable-device-orientation Disable device orientation events.
--disable-extensions Disable extensions.
--disable-extensions-file-access-check Disable checking for user opt-in for extensions that want to inject script into file URLs (ie, always allow it). This is used during automated testing.
--disable-file-system Disable FileSystem API.
--disable-flash-sandbox Disables the sandbox for the built-in flash player.
--disable-geolocation Suppresses support for the Geolocation javascript API.
--disable-gl-multisampling Disable GL multisampling.
--disable-glsl-translator Disable the GLSL translator.
--disable-gpu-sandbox Disable the GPU process sandbox.
--disable-gpu-vsync Stop the GPU from synchronizing on the vsync before presenting.
--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-history-quick-provider Disable the use of the HistoryQuickProvider for autocomplete results.
--disable-history-url-provider Disable the use of the HistoryURLProvider for autocomplete results.
--disable-indexed-database Disable the Indexed Database API.
--disable-interactive-form-validation Disables HTML5 Forms interactive validation.
--disable-internal-flash Disable the internal Flash Player.
--disable-ip-pooling Disables IP Pooling within the networks stack (SPDY only). When a connection is needed for a domain which shares an IP with an existing connection, attempt to use the existing connection.
--disable-ipv6 No description
--disable-java Prevent Java from running.
--disable-javascript Don't execute JavaScript (browser JS like the new tab page still runs).
--disable-javascript-i18n-api Disable JavaScript I18N API.
--disable-local-storage Disable LocalStorage.
--disable-logging Force logging to be disabled. Logging is enabled by default in debug builds.
--disable-new-tab-first-run Whether we should prevent the new tab page from showing the first run notification.
--disable-plugins Prevent plugins from running.
--disable-popup-blocking Disable pop-up blocking.
--disable-preconnect Disable speculative TCP/IP preconnection.
--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-remote-fonts Disables remote web font support. SVG font should always work whether this option is specified or not.
--disable-renderer-accessibility Turns off the accessibility in the renderer.
--disable-restore-background-contents Prevents the URLs of BackgroundContents from being remembered and re-launched when the browser restarts.
--disable-seccomp-sandbox Disable the seccomp sandbox (Linux only)
--disable-session-storage Disable session storage.
--disable-shared-workers Disable shared workers.
--disable-site-specific-quirks Disables site-specific tailoring to compatibility issues in WebKit.
--disable-speech-input Disables speech input.
--disable-ssl-false-start Disable False Start in SSL and TLS connections.
--disable-sync Disables syncing browser data to a Google Account.
--disable-sync-apps Disables syncing of apps.
--disable-sync-autofill Disables syncing of autofill.
--disable-sync-autofill-profile Disables syncing of autofill Profile.
--disable-sync-bookmarks Disables syncing of bookmarks.
--disable-sync-extensions Disables syncing of extensions.
--disable-sync-passwords Disables syncing browser passwords.
--disable-sync-preferences Disables syncing of preferences.
--disable-sync-themes Disables syncing of themes.
--disable-tab-closeable-state-watcher TabCloseableStateWatcher disallows closing of tabs and browsers under certain situations on ChromeOS. Some tests expect tabs or browsers to close, so we need a switch to disable the watcher.
--disable-translate Allows disabling of translate from the command line to assist with automated browser testing (e.g. Selenium/WebDriver). Normal browser users should disable translate with the preference.
--disable-web-resources Disables the backend service for web resources.
--disable-web-security Don't enforce the same-origin policy. (Used by people testing their sites.)
--disable-web-sockets Disable Web Sockets support.
--disable-webgl Disable experimental WebGL support.
--disable-winsta Disables the alternate window station for the renderer.
--disable-xss-auditor Disables Blink's XSSAuditor. The XSSAuditor mitigates reflective XSS.
--disabled disabled: touch events are disabled.
--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.
--dns-log-details No description
--dns-prefetch-disable Disables prefetching of DNS information.
--dns-server Use the specified DNS server for raw DNS resolution.
--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.
--dump-histograms-on-exit Dump any accumualted histograms to the log when browser terminates (requires logging to be enabled to really do anything). Used by developers and test scripts.
--enable-accelerated-drawing Enable hardware accelerated page drawing. Please note that this flag is honored only if chromium is compiled with SKIA_GPU flag, which can be enabled by setting use_skia_gpu variable to 1 in build/features_override.gypi.
--enable-accelerated-plugins Enables the hardware acceleration of plugins.
--enable-accessibility Enables WebKit accessibility within the renderer process.
--enable-adaptive Enable x-adaptive URL scheme.
--enable-advanced-fs[2] Enables Advanced File System.
--enable-aero-peek-tabs Enables AeroPeek for each tab. (This switch only works on Windows 7).
--enable-auth-negotiate-port Enables the inclusion of non-standard ports when generating the Kerberos SPN in response to a Negotiate challenge. See HttpAuthHandlerNegotiate::CreateSPN for more background.
--enable-benchmarking Enables the benchmarking extensions.
--enable-clear-server-data This flag enables UI for clearing server data. Temporarily in place until there's a server endpoint deployed.
--enable-click-to-play Enable click-to-play for blocked plug-ins.
--enable-cloud-print Enables the Cloud Print dialog hosting code.
--enable-cloud-print-proxy This applies only when the process type is "service". Enables the Cloud Print Proxy component within the service process.
--enable-compact-navigation Enables compact navigation mode, which removes the toolbar and moves most of UI to the tab strip.
--enable-composite-to-texture Enables compositing to texture instead of display.
--enable-connect-backup-jobs Enables establishing a backup TCP connection if a specified timeout is exceeded.
--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-crxless-web-apps Enables web developers to create apps for Chrome without using crx packages.
--enable-dcheck Enable DCHECKs in release mode.
--enable-device-motion Enables device motion events.
--enable-device-policy[2] Enables device policy support on ChromeOS.
--enable-dhcp-wpad Enables retrieval of PAC URLs from DHCP as per the WPAD standard. Note that this feature is not supported on all platforms, and using the flag is a no-op on such platforms.
--enable-dns-cert-provenance-checking Enable DNS side checking of certificates. Still experimental, should only be used by developers at the current time.
--enable-experimental-extension-apis Enables extension APIs that are in development.
--enable-expose-for-tabs[5] Enables the tabs expose feature ( http://crbug.com/50307 ).
--enable-extension-timeline-api Enables experimental timeline API.
--enable-fastback Enables the fastback page cache.
--enable-file-cookies By default, cookies are not allowed on file://. They are needed for testing, for example page cycler and layout tests. See bug 1157243.
--enable-fullscreen Enable the JavaScript Full Screen API.
--enable-gpu-plugin Enable the GPU plugin and Pepper 3D rendering.
--enable-gview[2] Enables the redirection of viewable document requests to the Google Document Viewer.
--enable-in-browser-thumbnailing Enables the in-browser thumbnailing, which is more efficient than the in-renderer thumbnailing, as we can use more information to determine if we need to update thumbnails.
--enable-ip-pooling Enables IP Pooling within the networks stack (SPDY only). When a connection is needed for a domain which shares an IP with an existing connection, attempt to use the existing connection.
--enable-ipc-fuzzing / Enables the IPC fuzzer for reliability testing
--enable-ipv6 Enables IPv6 support, even if probes suggest that it may not be fully supported. Some probes may require internet connections, and this flag will allow support independent of application testing. This flag overrides "disable-ipv6" which appears elswhere in this file.
--enable-logging Force logging to be enabled. Logging is disabled by default in release builds.
--enable-login-images[2] Should we show the image based login?
--enable-mac-cookies Enables MAC cookies in the network stack. These cookies use HMAC to protect session state from passive network attackers. http://tools.ietf.org/html/draft-hammer-oauth-v2-mac-token
--enable-memory-info Make the values returned to window.performance.memory more granular and more up to date. Without this flag, the memory information is still available, but it is bucketized and updated less frequently.
--enable-monitor-profile On Windows, converts the page to the currently-installed monitor profile. This does NOT enable color management for images. The source is still assumed to be sRGB.
--enable-nacl Runs the Native Client inside the renderer process and enables GPU plugin (internally adds lEnableGpuPlugin to the command line).
--enable-nacl-debug Enables debugging via RSP over a socket.
--enable-openmax Enable hardware decoding using OpenMax API. In practice this is for ChromeOS ARM.
--enable-p2papi Enable Pepper and JavaScript P2P API.
--enable-panels Enable panels (always on-top docked pop-up windows).
--enable-pepper-testing Enables the testing interface for PPAPI.
--enable-preconnect Enable speculative TCP/IP preconnection.
--enable-preparsed-js-caching Enable caching of pre-parsed JS script data. See http://crbug.com/32407.
--enable-print-preview[6] Enables print preview. Chromium normally does not have the PDF viewer, required for print preview. pdf.dll or libpdf.so should be present in primary directory of Chromium. For local builds it's usually out/Debug or out/Release.
--enable-remoting This applies only when the process type is "service". Enables the Chromoting Host Process within the service process.
--enable-resource-content-settings Enables content settings based on host *and* plug-in in the user preferences.
--enable-sandbox-logging Cause the OS X sandbox write to syslog every time an access to a resource is denied by the sandbox.
--enable-sdch Controls the support for SDCH filtering (dictionary based expansion of content). By default SDCH filtering is enabled. To disable SDCH filtering, use "--enable-sdch=0" as command line argument. SDCH is currently only supported server-side for searches on google.com.
--enable-search-provider-api-v2 Enable the IsSearchProviderInstalled and InstallSearchProvider with an extra parameter to indicate if the provider should be the default.
--enable-seccomp-sandbox Enable the seccomp sandbox (Linux only)
--enable-snap-start Enables 0-RTT HTTPS handshakes.
--enable-stats-table Enables StatsTable, logging statistics to a global named shared memory table.
--enable-sync Enable syncing browser data to a Google Account.
--enable-sync-autofill Enable syncing browser autofill.
--enable-sync-encryption Enable sync encryption options.
--enable-sync-sessions Enable syncing browser sessions.
--enable-sync-typed-urls Enable syncing browser typed urls.
--enable-synced-bookmarks-folder Enable syncing browser typed urls.
--enable-tab-groups-context-menu Enables context menu for selecting groups of tabs.
--enable-tcp-fastopen Enable use of experimental TCP sockets API for sending data in the SYN packet.
--enable-vertical-tabs Enables the option to show tabs as a vertical stack down the side of the browser window.
--enable-video-fullscreen Enables support for fullscreen video. Current implementation is incomplete and this flag is used for development and testing.
--enable-video-logging Enables video logging where video elements log playback performance data to the debug log.
--enable-watchdog Spawns threads to watch for excessive delays in specified message loops. User should set breakpoints on Alarm() to examine problematic thread. Usage: -enable-watchdog=[ui][io] Order of the listed sub-arguments does not matter.
--enable-webaudio Enable web audio API.
--enable-websocket-over-spdy Uses WebSocket over SPDY.
--enabled enabled: touch events always enabled.
--experimental-location-features Enables experimental features for the geolocation API. Current features: - CoreLocation support for Mac OS X 10.6
--experimental-spellchecker-features Enables experimental features for Spellchecker. Right now, the first experimental feature is auto spell correct, which corrects words which are misspelled by typing the word with two consecutive letters swapped. The features that will be added next are: 1 - Allow multiple spellcheckers to work simultaneously. 2 - Allow automatic detection of spell check language. TODO(sidchat): Implement the above features to work under this flag.
--explicitly-allowed-ports Explicitly allows additional ports using a comma-separated list of port numbers.
--expose-private-extension-api[7] Debug only switch to give access to all private extension APIs to any non-component extension that is requesting it.
--extension Causes the process to run as an extension subprocess.
--extensions-update-frequency Frequency in seconds for Extensions auto-update.
--extra-plugin-dir Load NPAPI plugins from the specified directory.
--feedback-server Alternative feedback server to use when submitting user feedback
--file-descriptor-limit The file descriptor limit is set to the value of this switch, subject to the OS hard limits. Useful for testing that file descriptor exhaustion is handled gracefully.
--first-run Displays the First Run experience when the browser is started, regardless of whether or not it's actually the first run.
--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 No description
--focus-existing-tab-on-open If true opening a url from the omnibox attepts to focus an existing tab.
--force-apps-promo-visible Forces the apps/webstore promo to be shown, independent of whether it has timed out, etc. Useful for testing.
--force-compositing-mode Enable force_compositing_mode in layout tests.
--force-fieldtest Some field tests may rendomized in the browser, and the randomly selected outcome needs to be propagated to the renderer. For instance, this is used to modify histograms recorded in the renderer, or to get the renderer to also set of its state (initialize, or not initialize components) to match the experiment(s). The argument is a string-ized list of experiment names, and the associated value that was randomly selected. In the recent implementetaion, the persistent representation generated by field_trial.cc and later decoded, is a list of name and value pairs, separated by slashes. See field trial.cc for current details.
--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.
--force-stub-libcros[2] Forces usage of libcros stub implementation. For testing purposes, this switch separates chrome code from the rest of ChromeOS.
--full-memory-crash-report Generates full memory crash dump.
--gpu-launcher Extra command line options for launching the GPU process (normally used for debugging). Use like renderer-cmd-prefix.
--gpu-process Makes this process a GPU sub-process.
--gpu-startup-dialog Causes the GPU process to display a dialog on launch.
--gssapi-library-name Specifies a custom name for the GSSAPI library to load.
--h No description
--help No description
--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.
--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-resolver-parallelism The maximum number of concurrent host resolve requests (i.e. DNS) to allow (not counting backup attempts which would also consume threads). --host-resolver-retry-attempts must be set to zero for this to be exact.
--host-resolver-retry-attempts The maximum number of retry attempts to resolve the host. Set this to zero to disable host resolver retry attempts.
--host-resolver-rules These mappings only apply to the host resolver.
--host-rules Comma-separated list of rules that control how hostnames are mapped. For example: "MAP * 127.0.0.1" --> Forces all hostnames to be mapped to 127.0.0.1 "MAP *.google.com proxy" --> Forces all google.com subdomains to be resolved to "proxy". "MAP test.com [::1]:77 --> Forces "test.com" to resolve to IPv6 loopback. Will also force the port of the resulting socket address to be 77. "MAP * baz, EXCLUDE www.google.com" --> Remaps everything to "baz", except for "www.google.com". These mappings apply to the endpoint host in a net::URLRequest (the TCP connect and host resolver in a direct connection, and the CONNECT in an http proxy connection, and the endpoint host in a SOCKS proxy connection).
--hsts-hosts Takes the JSON-formatted HSTS specification and loads it as if it were a preloaded HSTS entry. Takes precedence over both website-specified rules and built-in rules. The JSON format is the same as that persisted in <profile_dir>/Default/TransportSecurity
--ignore-certificate-errors Ignores certificate-related errors.
--ignore-gpu-blacklist Ignores GPU blacklist.
--import Performs importing from another browser. The value associated with this setting encodes the target browser and what items to import.
--import-from-file Performs bookmark importing from an HTML file. The value associated with this setting encodes the file path. It may be used jointly with kImport.
--in-process-gpu Run the GPU process as a thread in the browser process.
--in-process-plugins Runs plugins inside the renderer process
--in-process-webgl Runs WebGL inside the renderer process.
--incognito Causes the browser to launch directly in incognito mode.
--indexeddb-use-leveldb Use LevelDB as back-end for Indexed Database API.
--instant-url URL to use for instant. If specified this overrides the url from the TemplateURL.
--js-flags Specifies the flags passed to JS engine
--keep-alive-for-test Used for testing - keeps browser alive after last browser window closes.
--keep-mouse-cursor[8] Debug only switch to prevent the mouse cursor from disappearing when touch is enabled
--kiosk Enable Kiosk mode.
--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.
--load-extension Loads an extension from the specified directory.
--load-opencryptoki Loads the opencryptoki library into NSS at startup. This is only needed temporarily for developers who need to work on WiFi/VPN certificate code. TODO(gspencer): Remove this switch once cryptohomed work is finished: http://crosbug.com/12295 and http://crosbug.com/12304
--load-plugin Load an NPAPI plugin from the specified path.
--locale_pak Load the locale resources from the given path. When running on Mac/Unix the path should point to a locale.pak file.
--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-net-log Enables saving net log events to a file and sets the file name to use.
--log-plugin-messages Make plugin processes log their sent and received messages to VLOG(1).
--login-manager Enables Chrome-as-a-login-manager behavior.
--login-password Specifies a password to be used to login (along with login-user).
--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-screen Allows to override the first login screen. The value should be the name of the first login screen to show (see chrome/browser/chromeos/login/login_wizard_view.cc for actual names). Ignored if kLoginManager is not specified. TODO(avayvod): Remove when the switch is no longer needed for testing.
--login-screen-size Controls the initial login screen size. Pass width,height.
--login-user Specifies the user which is already logged in.
--login-user-with-new-password[2] Allows to emulate situation when user logins with new password.
--make-default-browser Makes Chrome default browser
--max-spdy-concurrent-streams Sets the maximum concurrent streams over a SPDY session.
--max-spdy-sessions-per-domain Sets the maximum SPDY sessions per domain.
--media-cache-size Forces the maximum disk space to be used by the media cache, in bytes.
--memory-profile Enables dynamic loading of the Memory Profiler DLL, which will trace all memory allocations during the run.
--message-loop-histogrammer Enables histograming of tasks served by MessageLoop. See about:histograms/Loop for results, which show frequency of messages on each thread, including APC count, object signalling count, etc.
--metrics-recording-only Enables the recording of metrics reports but disables reporting. In contrast to kDisableMetrics, 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.
--min-clearsitedata-flash-version The minimum version of Flash that implements the NPP_ClearSiteData API.
--multi-profiles Enables multiprofile Chrome.
--nacl-broker Value for --type that causes the process to run as a NativeClient broker (used for launching NaCl loader processes on 64-bit Windows).
--nacl-debug-ip Sets the default IP address (interface) for the stub (normally 127.0.0.1).
--nacl-debug-ports Sets the default port range for debugging.
--nacl-loader Value for --type that causes the process to run as a NativeClient loader for SFI mode.
--nacl-loader-cmd-prefix On POSIX only: the contents of this flag are prepended to the nacl-loader command line. Useful values might be "valgrind" or "xterm -e gdb --args".
--nacl-startup-dialog Causes the Native Client process to display a dialog on launch.
--net-log-level Sets the base logging level for the net log. Log 0 logs the most data. Intended primarily for use with --log-net-log.
--new-tab-page-4 Use the latest incarnation of the new tab page.
--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-displaying-insecure-content By default, an https page can load images, fonts or frames from an http page. This switch overrides this to block this lesser mixed-content problem.
--no-events Don't record/playback events when using record & playback.
--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, whether or not it's actually the First Run. Overridden by kForceFirstRun. This does not drop the First Run sentinel and thus doesn't prevent first run from occuring the next time chrome is launched without this flag.
--no-js-randomness Support a separate switch that enables the v8 playback extension. The extension causes javascript calls to Date.now() and Math.random() to return consistent values, such that subsequent loads of the same page will result in consistent js-generated data and XHR requests. Pages may still be able to generate inconsistent data from plugins.
--no-message-box Disable ui::MessageBox. This is useful when running as part of scripts that do not have a user interface.
--no-pings Don't send hyperlink auditing pings
--no-process-singleton-dialog[9] Bypass the error dialog when the profile lock couldn't be attained. This switch is used during automated testing.
--no-proxy-server Don't use a proxy server, always make direct connections. Overrides any other proxy server flags that are passed.
--no-referrers Don't send HTTP-Referer headers.
--no-sandbox Disables the sandbox for all process types that are normally sandboxed.
--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).
--noerrdialogs Suppresses all error dialogs when present.
--notify-cp-token-expired Shows a desktop notification that the cloud print token has expired and that user needs to re-authenticate.
--num-pac-threads Specifies the maximum number of threads to use for running the Proxy Autoconfig (PAC) script.
--organic Simulates an organic Chrome install.
--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.
--parallel-auth[2] Attempts to perform Chrome OS offline and online login in parallel.
--parent-profile Specifies the path to the user data folder for the parent profile.
--password-store[10] Specifies which password store to use (detect, default, gnome, kwallet).
--playback-mode Read previously recorded data from the cache. Only cached data is read. See kRecordMode.
--plugin Causes the process to run as a plugin subprocess.
--plugin-launcher Specifies a command that should be used to launch the plugin process. Useful for running the plugin process through purify or quantify. Ex: --plugin-launcher="path\to\purify /Run=yes"
--plugin-path Tells the plugin process the path of the plugin to load
--plugin-startup-dialog Causes the plugin process to display a dialog on launch.
--ppapi Argument to the process type that indicates a PPAPI plugin process type.
--ppapi-broker Argument to the process type that indicates a PPAPI broker process type.
--ppapi-flash-args "Command-line" arguments for the PPAPI Flash; used for debugging options.
--ppapi-flash-in-process Forces the PPAPI version of Flash (if it's being used) to run in the renderer process rather than in a separate plugin process.
--ppapi-flash-path Use the PPAPI (Pepper) Flash found at the given path.
--ppapi-flash-version Report the given version for the PPAPI (Pepper) Flash. The version should be numbers separated by '.'s (e.g., "12.3.456.78"). If not specified, it defaults to "10.2.999.999".
--ppapi-out-of-process Runs PPAPI (Pepper) plugins out-of-process.
--ppapi-plugin-launcher Like kPluginLauncher for PPAPI plugins.
--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.
--prefetch_only prefetch_only: No prerendering, but enables prefetching.
--prerender Controls speculative prerendering of pages, and content prefetching. Both are dispatched from <link rel=prefetch href=...> elements.
--print Prints the pages on the screen.
--process-per-site Runs a single process for each site (i.e., group of pages from the same registered domain) the user visits. 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).
--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).
--product-version Outputs the product version information and quit. Used as an internal api to detect the installed version of Chrome on Linux.
--profile-import Causes the process to run as a profile import subprocess.
--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 gyp variable profiling=1. 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. {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}.
--profiling-flush Controls whether profile data is periodically flushed to a file. Normally the data gets written on exit but cases exist where chrome doesn't exit cleanly (especially when using single-process). A time in seconds can be specified.
--proxy-auto-detect Forces proxy auto-detection.
--proxy-bypass-list Specifies a list of hosts for whom we bypass proxy settings and use direct connections. Ignored if --proxy-auto-detect or --no-proxy-server are also specified. This is a comma-separated list of bypass rules. See: "net/proxy/proxy_bypass_rules.h" for the format of these rules.
--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.
--purge-memory-button Adds a "Purge memory" button to the Task Manager, which tries to dump as much memory as possible. This is mostly useful for testing how well the MemoryPurger functionality works. NOTE: This is only implemented for Views.
--record-mode Chrome supports a playback and record mode. Record mode saves *everything* to the cache. Playback mode reads data exclusively from the cache. This allows us to record a session into the cache and then replay it at will. See also kPlaybackMode.
--register-pepper-plugins Register Pepper plugins (see pepper_plugin_list.cc for its format).
--reload-killed-tabs Reloads pages that have been killed when they are next focused by the user.
--remote-debugging-port Enables remote debug over HTTP on the specified port.
--remote-shell-port Enable remote debug / automation shell on the specified port.
--renderer Causes the process to run as renderer instead of as browser.
--renderer-assert-test Causes the renderer process to throw an assertion on launch.
--renderer-check-false-test[11] Causes the renderer process to throw an assertion on launch.
--renderer-cmd-prefix On POSIX only: the contents of this flag are prepended to the renderer command line. Useful values might be "valgrind" or "xterm -e gdb --args".
--renderer-crash-test Causes the renderer process to crash on launch.
--renderer-startup-dialog Causes the renderer process to display a dialog on launch.
--restore-last-session Indicates the last session should be restored on startup. This overrides the preferences value and is primarily intended for testing. The value of this switch is the number of tabs to wait until loaded before 'load completed' is sent to the ui_test.
--safebrowsing-disable-auto-update If present, safebrowsing only performs update when SafeBrowsingProtocolManager::ForceScheduleNextUpdate() is explicitly called. This is used for testing only.
--safebrowsing-disable-download-protection TODO(lzheng): Remove this flag once the feature works fine (http://crbug.com/74848). Disables safebrowsing feature that checks download url and downloads content's hash to make sure the content are not malicious.
--safebrowsing-info-url-prefix URL prefix used by safebrowsing to fetch hash, download data and report malware.
--safebrowsing-mackey-url-prefix URL prefix used by safebrowsing to get MAC key.
--screen-saver-url[2] URL of the html page for Screen Saver.
--scroll-pixels[12] Specify the amount the trackpad should scroll by.
--search-in-omnibox-hint Enables the showing of an info-bar instructing user they can search directly from the omnibox.
--service No description
--service-account-lsid The LSID of the account to use for the service process.
--set-token Sets a token in the token service, for testing.
--show-composited-layer-borders Renders a border around compositor layers to help debug and study layer compositing.
--show-composited-layer-tree Draws a textual dump of the compositor layer tree to help debug and study layer compositing.
--show-fps-counter Draws a heads-up-display showing Frames Per Second as well as GPU memory usage. If you also use --vmodule="head*=1" then FPS will also be output to the console log.
--show-icons See kHideIcons.
--show-paint-rects Visibly render a border around paint rects in the web page to help debug and study painting behavior.
--silent-dump-on-dcheck Changes the DCHECKS to dump memory and continue instead of displaying error dialog. This is valid only in Release mode when gyp dcheck_always_on=1.
--simple-data-source Replaces the buffered data source for <audio> and <video> with a simplified resource loader that downloads the entire resource into memory. TODO(scherkus): remove --simple-data-source when our media resource loading is cleaned up and playback testing completed.
--single-process Runs the renderer and plugins in the same process as the browser
--start-maximized Starts the browser maximized, regardless of any previous settings.
--stub-cros[2] Indicates that stub implementations of the libcros library should be used. This is typically used to test the chromeos build of chrome on the desktop.
--sync-allow-insecure-xmpp-connection Allows insecure XMPP connections for sync (for testing).
--sync-invalidate-xmpp-login Invalidates any login info passed into sync's XMPP connection.
--sync-notification-host Override the default host used for sync notifications. Can be either "host" or "host:port".
--sync-notification-method Overrides the default notification method for sync.
--sync-try-ssltcp-first-for-xmpp Tries to connect to XMPP using SSLTCP first (for testing).
--sync-url Overrides the default server used for profile sync.
--syncer-thread-timed-stop Use the SyncerThread implementation that matches up with the old pthread impl semantics, but using Chrome synchronization primitives. The only difference between this and the default is that we now have no timeout on Stop(). Should only use if you experience problems with the default.
--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-load-libcros[2] Attempts to load libcros and validate it, then exits. A nonzero return code means the library could not be loaded correctly.
--test-nacl-sandbox Runs the security test for the NaCl loader sandbox.
--test-name Passes the name of the current running automated test to Chrome.
--test-sandbox Runs the security test for the renderer sandbox.
--test-type Type of the current test harness ("browser" or "ui").
--testing-channel Tells the app to listen for and broadcast testing-related messages on IPC channel with the given ID.
--touch-devices[13] 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'.
--try-chrome-again Experimental. Shows a dialog asking the user to try chrome. This flag is to be used only by the upgrade process.
--type The value of this switch determines whether the process is started as a renderer or plugin host. If it's empty, it's the browser.
--uninstall No description
--uninstall-extension Uninstalls an extension with the specified extension id.
--unlimited-quota-for-files Grant unlimited quota to store files to this process. Used for testing Pepper's FileRef/FileIO/FileSystem implementations. DO NOT USE FOR OTHER PURPOSES. TODO(dumi): remove the switch when we have a real quota implementation.
--unlimited-quota-for-indexeddb This is for testing IndexedDB and will give any website you visit unlimited quota in IndexedDB. This should only be used for development and not general browsing. It is ignored in single process mode.
--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). osmesa: The OSMesa software renderer.
--use-pure-views Use a pure Views implementation when available (rather rather than platform native implementation such as GTK).
--use-spdy Uses Spdy for the transport protocol instead of HTTP. This is a temporary testing flag.
--use-system-ssl[14] Use the system SSL library (Secure Transport on Mac, SChannel on Windows) instead of NSS for SSL.
--user-agent A string used to override the default user agent with a custom one.
--user-data-dir Specifies the user data directory, which is where the browser will look for all of its state.
--user-scripts-dir directory to locate user scripts in as an over-ride of the default
--utility Causes the process to run as a utility subprocess.
--utility-allowed-dir The utility process is sandboxed, with access to one directory. This flag specifies the directory that can be accessed.
--utility-cmd-prefix On POSIX only: the contents of this flag are prepended to the utility process command line. Useful values might be "valgrind" or "xterm -e gdb --args".
--v Gives the default maximal active V-logging level; 0 is the default. Normally positive values are used for V-logging levels.
--version Prints version information and quits.
--video-threads Set number of threads to use for video decoding.
--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.
--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.
--web-worker-process-per-core Causes the worker process allocation to use as many processes as cores.
--web-worker-share-processes Causes workers to run together in one process, depending on their domains. Note this is duplicated in webworkerclient_impl.cc
--webcore-log-channels Choose which logging channels in WebCore to activate. See Logging.cpp in WebKit's WebCore for a list of available channels.
--websocket-live-experiment-host[7] Debug only switch to specify which websocket live experiment host to be used. If host is specified, it also makes initial delay shorter (5 min to 5 sec) to make it faster to test websocket live experiment code.
--webui-login[2] Enable WebUI based login screens.
--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.
--worker Causes the process to run as a worker subprocess.
--zygote Causes the process to run as a renderer 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.

Conditions

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

  1. The constants OS_FREEBSD, OS_LINUX and OS_SOLARIS must be defined.
  2. The constant OS_CHROMEOS must be defined.
  3. The constant OFFICIAL_BUILD must not be defined, and the constant ENABLE_PRINT_PREVIEW must be defined.
  4. The constant TOOLKIT_VIEWS must be defined.
  5. The constant OS_MACOSX must be defined.
  6. The constant GOOGLE_CHROME_BUILD must not be defined.
  7. The constant NDEBUG must not be defined.
  8. The constant TOUCH_UI must be defined.
  9. The constant OS_POSIX must be defined.
  10. The constants OS_CHROMEOS and OS_MACOSX must not be defined, and the constant OS_POSIX must be defined.
  11. The constant OFFICIAL_BUILD must not be defined.
  12. The constant OS_MACOSX must not be defined, and the constant OS_POSIX must be defined.
  13. The constants OS_LINUX and TOOLKIT_VIEWS must be defined.
  14. The constants OS_MACOSX and OS_WIN must be defined.