Formatter Validator Minifier Escape / Unescape JSON ↔ String JSON ↔ YAML JSON → CSV NDJSON / JSON Lines JSON → Types JSON ↔ XML JSON Diff JSON Patch Canonicalize (RFC 8785) Schema Validator Schema Generator JSONPath Tester JWT Decoder JSON Errors Schemas More Tools
JSONTools / Schema registry / Streamlit configuration file
Schema registry

Streamlit configuration file

Streamlit configuration file

**/.streamlit/config.toml

Check your file against this schema

Opens the validator with this schema already loaded. Paste your **/.streamlit/config.toml and it validates in your browser — nothing is uploaded.

Validate a **/.streamlit/config.toml → View raw schema

Fields

Generated directly from the schema, following local $refs, to two levels of nesting.

Field Type Description
globalobjectGlobal configuration options for Streamlit
global.disableWidgetStateDuplicationWarningbooleanBy default, Streamlit displays a warning when a user sets both a widget default value in the function defining the widget and a widget value via the widget's key in st.session_state. If you'd like to turn off this warning, set this to True.
default: false
global.showWarningOnDirectExecutionbooleanIf True, will show a warning when you run a Streamlit-enabled script via 'python my_script.py'.
default: true
loggerobjectConfiguration for Streamlit's internal logger
logger.levelstringLevel of logging for Streamlit's internal logger
default: "info"
one of: "error", "warning", "info", "debug"
logger.messageFormatstringString format for logging messages. If logger.datetimeFormat is set, logger messages will default to '%(asctime)s.%(msecs)03d %(message)s'. See Python's documentation for available attributes.
default: "%(asctime)s %(message)s"
clientobjectClient-side configuration options
client.showErrorDetailsstringControls whether uncaught app exceptions and deprecation warnings are displayed in the browser
default: "full"
one of: "full", "stacktrace", "type", "none"
client.toolbarModestringChange the visibility of items in the toolbar, options menu, and settings dialog (top right of the app)
default: "auto"
one of: "auto", "developer", "viewer", "minimal"
client.showSidebarNavigationbooleanControls whether to display the default sidebar page navigation in a multi-page app. This only applies when app's pages are defined by the 'pages/' directory.
default: true
runnerobjectConfiguration for Streamlit's script runner
runner.magicEnabledbooleanAllows you to type a variable or string by itself in a single line of Python code to write it to the app.
default: true
runner.fastRerunsbooleanHandle script rerun requests immediately, rather than waiting for script execution to reach a yield point. This makes Streamlit much more responsive to user interaction, but it can lead to race conditions in apps that mutate session_state
default: true
runner.enforceSerializableSessionStatebooleanRaise an exception after adding unserializable data to Session State. Some execution environments may require serializing all data in Session State, so it may be useful to detect incompatibility during development, or when the execution
default: false
runner.enumCoercionstringControls how 'options' widgets (radio, selectbox, multiselect) coerce Enum members. This is particularly useful when Enum classes are redefined during script reruns. 'off' disables coercion completely, 'nameOnly' allows coercion when
default: "nameOnly"
one of: "off", "nameOnly", "nameAndValue"
serverobjectServer configuration options for Streamlit
server.folderWatchListarray<string>List of directories to watch for changes. By default, Streamlit watches files in the current working directory and its subdirectories. Use this option to specify additional directories to watch. Paths must be absolute.
default: []
server.folderWatchBlacklistarray<string>List of directories to ignore for changes. By default, Streamlit watches files in the current working directory and its subdirectories. Use this option to specify exceptions within watched directories. Paths can be absolute or relative to
default: []
server.fileWatcherTypestringChange the type of file watcher used by Streamlit, or turn it off completely. 'auto' attempts to use watchdog module and falls back to polling, 'watchdog' forces watchdog module, 'poll' forces polling, 'none' disables file watching.
default: "auto"
one of: "auto", "watchdog", "poll", "none"
server.cookieSecretstringSymmetric key used to produce signed cookies. If deploying on multiple replicas, this should be set to the same value across all replicas to ensure they all share the same secret.
server.headlessbooleanIf false, will attempt to open a browser window on start. Default is false unless on a Linux box where DISPLAY is unset, or running in the Streamlit Atom plugin.
default: false
server.showEmailPromptbooleanWhether to show a terminal prompt for the user's email address when they run Streamlit (locally) for the first time. If server.headless=True, Streamlit will not show this prompt.
default: true
server.runOnSavebooleanAutomatically rerun script when the file is modified on disk.
default: false
server.addressstringThe address where the server will listen for client and browser connections. If set, the server will only be accessible from this address, and not from any aliases (like localhost).
server.portintegerThe port where the server will listen for browser connections.
default: 8501
server.baseUrlPathstringThe base path for the URL where Streamlit should be served from.
default: ""
server.enableCORSbooleanEnables support for Cross-Origin Resource Sharing (CORS) protection, for added security. If XSRF protection is enabled and CORS protection is disabled at the same time, Streamlit will enable them both instead.
default: true
server.corsAllowedOriginsarray<string>If CORS protection is enabled, use this option to set a list of allowed origins that the Streamlit server will accept traffic from. This config option does nothing if CORS protection is disabled.
default: []
server.enableXsrfProtectionbooleanEnables support for Cross-Site Request Forgery (XSRF) protection, for added security. If XSRF protection is enabled and CORS protection is disabled at the same time, Streamlit will enable them both instead.
default: true
server.maxUploadSizeintegerMax size, in megabytes, for files uploaded with the file_uploader.
default: 200
server.maxMessageSizeintegerMax size, in megabytes, of messages that can be sent via the WebSocket connection.
default: 200
server.enableWebsocketCompressionbooleanEnables support for websocket compression.
default: false
server.enableStaticServingbooleanEnable serving files from a 'static' directory in the running app's directory.
default: false
server.disconnectedSessionTTLintegerTTL in seconds for sessions whose websockets have been disconnected. The server may choose to clean up session state, uploaded files, etc for a given session with no active websocket connection at any point after this time has passed.
default: 120
server.sslCertFilestringServer certificate file for connecting via HTTPS. Must be set at the same time as 'server.sslKeyFile'. DO NOT USE THIS OPTION IN A PRODUCTION ENVIRONMENT. It has not gone through security audits or performance tests. For the production
server.sslKeyFilestringCryptographic key file for connecting via HTTPS. Must be set at the same time as 'server.sslCertFile'. DO NOT USE THIS OPTION IN A PRODUCTION ENVIRONMENT. It has not gone through security audits or performance tests. For the production
browserobjectBrowser configuration options for Streamlit
browser.serverAddressstringAddress to connect to when opening browser
default: "localhost"
browser.gatherUsageStatsbooleanWhether to send usage statistics to Streamlit
default: true
browser.serverPortintegerPort where users should point their browsers to connect to the app. This is used to set the correct URL for XSRF protection, show the URL on the terminal, and open the browser automatically. This option is for advanced use cases - to
default: 8501
mapboxdeprecatedobjectConfiguration for Mapbox integration (DEPRECATED)
mapbox.tokenstringMapbox API token for displaying maps. DEPRECATED: Use MAPBOX_API_KEY environment variable or PyDeck's api_keys argument instead. This option will be removed on or after 2026-05-01.
default: ""
themeobjectTheme configuration for Streamlit apps
theme.basestringThe preset Streamlit theme that your custom theme inherits from. Can be either 'light' or 'dark'.
one of: "light", "dark"
theme.primaryColoroneOf
theme.backgroundColoroneOf
theme.secondaryBackgroundColoroneOf
theme.textColoroneOf
theme.linkColoroneOf
theme.linkUnderlinebooleanWhether or not links should be displayed with an underline
theme.codeBackgroundColoroneOf
theme.fontoneOfThe font family for all text, except code blocks. Can be 'sans-serif', 'serif', 'monospace', a custom font family value, or a comma-separated list of these for fallbacks
theme.fontFacesarrayAn array of fonts to use in your app. Each font is a dictionary with attributes like family, url, weight, style, and unicodeRange
theme.baseFontSizeintegerThe root font size in pixels for the app. Must be a positive integer. Defaults to 16px if not set
default: 16
theme.baseFontWeightintegerThe root font weight for the app.
default: 400
theme.headingFontoneOfThe font family for all text, except code blocks. Can be 'sans-serif', 'serif', 'monospace', a custom font family value, or a comma-separated list of these for fallbacks
theme.headingFontSizesoneOfFont sizes for h1-h6 headings. Can be a single value or array of up to 6 values in pixels or rem
theme.headingFontWeightsoneOfFont weights for h1-h6 headings. Can be a single value or array of up to 6 values between 100 and 900
theme.codeFontoneOfThe font family for all text, except code blocks. Can be 'sans-serif', 'serif', 'monospace', a custom font family value, or a comma-separated list of these for fallbacks
theme.codeFontSizeoneOf
theme.codeFontWeightinteger
theme.baseRadiusoneOf
theme.buttonRadiusoneOf
theme.borderColoroneOf
theme.dataframeBorderColoroneOf
theme.dataframeHeaderBackgroundColoroneOf
theme.showWidgetBorderbooleanWhether to show a border around input widgets
theme.showSidebarBorderbooleanWhether to show a vertical separator between the sidebar and the main content area
theme.chartCategoricalColorsarrayAn array of colors to use for categorical chart data in Plotly, Altair, and Vega-Lite charts
theme.chartSequentialColorsarrayAn array of exactly ten colors to use for sequential or continuous chart data in Plotly, Altair, and Vega-Lite charts
theme.sidebarobjectTheme configuration specifically for the sidebar
theme.sidebar.primaryColoroneOf
theme.sidebar.backgroundColoroneOf
theme.sidebar.secondaryBackgroundColoroneOf
theme.sidebar.textColoroneOf
theme.sidebar.linkColoroneOf
theme.sidebar.linkUnderlinebooleanWhether or not links should be displayed with an underline in the sidebar
theme.sidebar.codeBackgroundColoroneOf
theme.sidebar.fontoneOfThe font family for all text, except code blocks. Can be 'sans-serif', 'serif', 'monospace', a custom font family value, or a comma-separated list of these for fallbacks
theme.sidebar.headingFontoneOfThe font family for all text, except code blocks. Can be 'sans-serif', 'serif', 'monospace', a custom font family value, or a comma-separated list of these for fallbacks
theme.sidebar.headingFontSizesoneOfOne or more font sizes for h1-h6 headings in the sidebar
theme.sidebar.headingFontWeightsoneOfOne or more font weights for h1-h6 headings in the sidebar
default: [700, 600, 600, 600, 600, 600]
theme.sidebar.codeFontoneOfThe font family for all text, except code blocks. Can be 'sans-serif', 'serif', 'monospace', a custom font family value, or a comma-separated list of these for fallbacks
theme.sidebar.codeFontSizeoneOf
theme.sidebar.baseRadiusoneOf
theme.sidebar.buttonRadiusoneOf
theme.sidebar.borderColoroneOf
theme.sidebar.dataframeBorderColoroneOf
theme.sidebar.dataframeHeaderBackgroundColoroneOf
theme.sidebar.showWidgetBorderbooleanWhether to show a border around input widgets in the sidebar
secretsobjectConfiguration for Streamlit secrets management
secrets.filesarray<string>An entry can be a path to a TOML file or directory path where Kubernetes style secrets are saved. Order is important, import is first to last, so secrets in later files will take precedence over earlier ones.

What we found in this schema

Specification sections for the keywords in this schema

Keyword Document Section
$defsJSON Schema Core, draft 2020-12§8.2.4 — Schema Re-Use With "$defs"
$idJSON Schema Core, draft 2020-12§8.2.1 — The "$id" Keyword
$refJSON Schema Core, draft 2020-12§8.2.3.1 — Direct References with "$ref"
$schemaJSON Schema Core, draft 2020-12§8.1.1 — "$schema"
defaultJSON Schema Validation, draft 2020-12§9.2 — "default"
descriptionJSON Schema Validation, draft 2020-12§9.1 — "title" and "description"
enumJSON Schema Validation, draft 2020-12§6.1.2 — "enum"
itemsJSON Schema Core, draft 2020-12§10.3.1.2 — "items"
maxItemsJSON Schema Validation, draft 2020-12§6.4.1 — "maxItems"
maximumJSON Schema Validation, draft 2020-12§6.2.2 — "maximum"
minItemsJSON Schema Validation, draft 2020-12§6.4.2 — "minItems"
minimumJSON Schema Validation, draft 2020-12§6.2.4 — "minimum"
multipleOfJSON Schema Validation, draft 2020-12§6.2.1 — "multipleOf"
oneOfJSON Schema Core, draft 2020-12§10.2.1.3 — "oneOf"
patternJSON Schema Validation, draft 2020-12§6.3.3 — "pattern"
propertiesJSON Schema Core, draft 2020-12§10.3.2.1 — "properties"
typeJSON Schema Validation, draft 2020-12§6.1.1 — "type"
format: "uri"RFC 3986 (STD 66)§3 — Syntax Components

Documents

Attribution

This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.

← All schemas