Skip to content

Luau Run · Guides · Configuration

Your own settings

Your own settings live in config.toml in the Luau Run home: ~\.luau-run, or the folder LUAU_RUN_HOME names. The file is optional and nothing creates it.

config.toml
# Used wherever a project's luau-run.toml does not set it
[test]
default-runtime = "roblox"
worker-count = 4
[test.roblox-studio]
data-model = "edit"
# A variable, a [projects] line or the project's pin wins over these
[paths]
rojo = 'C:\path\to\rojo.exe'
[tools]
lute = "1.0.0"
[spinner]
name = "orbit"
rainbow = "always"
[output]
color = "auto"
[update]
notices = false

Write a Windows path in single quotes. In double quotes, TOML reads each backslash as an escape.

Table What it takes
[test] The test settings that say how a run behaves. A project’s luau-run.toml wins over them.
[paths] A full path for each tool: lute, supervisor, studio, rojo, jest-roblox, luau, lune or pesde. A tool’s variable wins when both are set.
[projects.'<folder>'.paths] The same keys, for the project in that folder alone. <folder> is the project’s full path, with a drive letter.
[tools] Only lute, set to a version this Luau Run knows. For another Lute, use a project’s pin or [paths] lute.
[spinner] The spinner shown while a run waits.
[output] color: auto (the default), always or never. always and never win over NO_COLOR and FORCE_COLOR.
[update] notices, for update notices.

Settings that name files in one repository, such as roots, runners and rojo-project, are refused under [test]. They belong in the project. Your [test.roblox-studio] settings apply only to a project that has its own [test.roblox-studio] table, so one line here cannot switch every Studio project to edit.

[spinner] takes:

Key Values Default
name One of the spinners glow
style artistic, tint or plain artistic
rainbow june (a rainbow in June only), always or never june, or never once style is set
tint, accent With style = "tint", the spinner’s colour and its highlight: a colour name, such as cyan, or #rrggbb cyan, and a lighter shade of the tint
character-set auto, unicode or ascii auto
enabled true or false. false prints each waiting message once instead true

If the file is not valid TOML, or [test] holds something luau-run.toml would refuse, luau-run test stops with exit 64 and names the file. Other commands warn and ignore the whole file. A mistake in any other table warns and drops only that setting, so a setting from a newer Luau Run never stops an older one.

After luau-run --version, doctor, init or setup at a terminal, Luau Run adds one line when the last update check found a newer release. Only luau-run update and update --check look for a newer release, so no other command makes a network request for it.

The line is off with --json, outside a terminal, when CI is set, when LUAU_RUN_NO_UPDATE_NOTICE is 1, or with notices = false under [update].

© 2026 PRMS Developer