You are reading the documentation for the in-development version of Streamlink.

Configuration file#

Writing the command-line options every time is inconvenient, that's why Streamlink is capable of reading options from a configuration file instead.

Location#

Streamlink will look for config files in different locations depending on your platform:

Platform

Location

Linux, BSD

Path

  • ${XDG_CONFIG_HOME:-${HOME}/.config}/streamlink/config

Example

  • /home/USERNAME/.config/streamlink/config

Deprecated

  • ${HOME}/.streamlinkrc

macOS

Path

  • ${HOME}/Library/Application Support/streamlink/config

Example

  • /Users/USERNAME/Library/Application Support/streamlink/config

Deprecated

  • ${XDG_CONFIG_HOME:-${HOME}/.config}/streamlink/config

  • ${HOME}/.streamlinkrc

Windows

Path

  • %APPDATA%\streamlink\config

Example

  • C:\Users\USERNAME\AppData\Roaming\streamlink\config

Deprecated

  • %APPDATA%\streamlink\streamlinkrc

You can also specify the location yourself using the --config option.

Loading config files can be suppressed using the --no-config option.

Warning

Streamlink's Windows installers automatically create a config file if it doesn't exist yet, but on any other platform or installation method, you must create the file yourself.

Note

The XDG_CONFIG_HOME environment variable is part of the XDG base directory specification (Arch Linux Wiki).

The ${VARIABLENAME:-DEFAULTVALUE} syntax is explained here.

Syntax#

The config file is a simple text file and should contain one command-line option (omitting the leading dashes) per line in the format:

option=value

or for an option without value:

option

Warning

Any quotes will be used as part of the argument value.

Example#

# Player options
player=mpv
player-args=--cache 2048
player-no-close

Plugin specific configuration file#

You may want to use specific options for some plugins only. This can be accomplished by setting these options in plugin-specific config files. Options defined in plugin-specific config files override options of the main config file when a URL matching the plugin is used.

Streamlink expects these configs to be named like the main config but with .<plugin name> attached to the end.

Platform

Location

Linux, BSD

Path

  • ${XDG_CONFIG_HOME:-${HOME}/.config}/streamlink/config.pluginname

Example

  • /home/USERNAME/.config/streamlink/config.twitch

Deprecated

  • ${HOME}/.streamlinkrc.pluginname

macOS

Path

  • ${HOME}/Library/Application Support/streamlink/config.pluginname

Example

  • /Users/USERNAME/Library/Application Support/streamlink/config.twitch

Deprecated

  • ${XDG_CONFIG_HOME:-${HOME}/.config}/streamlink/config.pluginname

  • ${HOME}/.streamlinkrc.pluginname

Windows

Path

  • %APPDATA%\streamlink\config.pluginname

Example

  • C:\Users\USERNAME\AppData\Roaming\streamlink\config.twitch

Deprecated

  • %APPDATA%\streamlink\streamlinkrc.pluginname

Have a look at the list of plugins, or check the --plugins option to see the name of each built-in plugin.