-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
github-actions[bot] edited this page Aug 3, 2026
·
3 revisions
osu!collect reads an optional config file. Every key has a default, so a missing file or missing keys are not an issue.
| OS | Path |
|---|---|
| Linux / macOS | ~/.config/osu-collect/config.toml |
| Windows | %APPDATA%\osu-collect\config.toml |
Most settings are also editable live on the config tab, where changes apply and save immediately. A commented example lives at config.toml.example.
Built-in mirror toggles. Hosts and what each mirror is good at: Mirrors.
| Key | Default | Notes |
|---|---|---|
nerinyan |
true |
|
osu_direct |
true |
|
sayobot |
true |
|
nekoha |
true |
|
beatconnect |
true |
|
osudl |
true |
|
catboy |
true |
|
hinamizawa |
false |
|
nzbasic |
false |
|
osu_official |
false |
Needs osu! login (Mirrors) |
urls |
[] |
Custom mirror URL templates, each containing {id}. Tried after the built-ins, in list order |
order |
[] |
Try-order for the built-ins as host keys (reorder on the config tab with ⇧+↑/↓). Unknown keys are dropped, missing built-ins are appended |
| Key | Default | Notes |
|---|---|---|
concurrent |
CPU core count | Parallel downloads; values above 50 trigger a warning |
video |
true |
Include beatmap videos; false uses each mirror's no-video variant where supported |
archive_validation |
"magic" |
.osz integrity check: "off", "magic" (ZIP header) or "eocd" (full footer scan) |
retry_failed_on_download |
"ask" |
When a new download overlaps previously failed maps: "ask", "yes" (always retry), "no" (skip silently) |
auto_skip_rate_limited |
true |
Give up on a map once it has waited out rate-limit cooldowns for rate_limit_skip_secs
|
rate_limit_skip_secs |
60 |
Counts only time actually spent waiting on cooldowns |
skip_already_imported |
true |
Skip maps already in your osu! library; they still land in the generated collection.db
|
| Key | Default | Notes |
|---|---|---|
theme |
absent |
"full" (truecolor) or "compatible" (xterm-256). |
vim_keys |
false |
Vim navigation keymap → Keybindings |
jump_to_downloads |
true |
Switch to the downloads tab when a download starts |
confirm_delete_history |
true |
Ask before deleting a downloads-tab entry (d). The prompt's "don't ask again" flips this off; set it back to true here to restore the confirmation |
| Key | Default | Notes |
|---|---|---|
enabled |
false |
Saves structured tracing output into a logfile |
level |
"info" |
error, warn, info, debug, trace
|
format |
"compact" |
Console format: "compact" or "pretty"
|
file_dir |
unset | Optional directory for rolled JSON log files |
| Key | Default | Notes |
|---|---|---|
auto_update |
true |
Download and install a newer release automatically (Installation) |
prereleases |
false |
Allow updating to GitHub prereleases |
Managed automatically: last collection, last download directory, osu! client, install path. Don't edit this.
auth.json (osu! token) sits next to config.toml. State files live in a per-user data dir: ~/.local/share/osu-collect on Linux, ~/Library/Application Support/osu-collect on macOS, %APPDATA%\osu-collect on Windows.
| File | Holds |
|---|---|
download_history.json |
Past runs shown on the downloads tab |
failed-beatmapsets.json |
Failed maps per collection, for retries across runs |
ignored-beatmapsets.json |
Sets you marked installed (Updating collections) |
library-cache.json |
Memoized owned-beatmapset lookup, keyed by library path + mtime |
Getting started
Guides
Reference