Skip to content

Where files are kept

CroStream keeps everything on your own computer, in two folders: a config folder for what you set up (settings, triggers, macros, overlays, logins) and a state folder for what the app records as it runs (history, viewers, media). You never need to open them, but it helps to know what's where when you back up, move to a new computer or fix something.

The two folders

Folder
Config folder %AppData%\CroStream (usually C:\Users\you\AppData\Roaming\CroStream)
State folder %LocalAppData%\CroStream (usually C:\Users\you\AppData\Local\CroStream)

Type the folder (with the % signs) into File Explorer's address bar to open it.

Folder
Config folder ~/Library/Application Support/CroStream
State folder the same folder

In Finder, choose Go → Go to Folder… and paste the path.

Folder
Config folder ~/.config/crostream
State folder ~/.local/state/crostream (or $XDG_STATE_HOME/crostream if you set that)

To open the config folder, go to Settings → Config folder and click Open config folder. The panel also shows its full path, with a Copy button. In browser mode there's no Open config folder, since the folder is on the computer running CroStream: copy the path instead.

Why two folders?

The state folder holds files that change all the time, such as the history database. On Windows it lives in the local part of your profile, so a roaming profile doesn't keep syncing it between computers. On macOS both live in one folder.

The config folder

What you set up. This is the part to back up.

File or folder What it holds
config.json Your settings file: triggers, macros, queues, each integration's settings (except passwords), history and viewer options, Dashboard layout, and desktop, update and crash reporting preferences. CroStream saves it as you edit.
backups/ Automatic copies of config.json, one before every change. See Backups.
secrets/ Your Twitch login and your OBS password. See Secrets.
overlays/ Your overlays, one file each, plus your saved text styles (presets.json). Deleted overlays go to overlays/trash/.
widgets/ Your own widgets, with earlier versions of each in widgets/history/.
crostream.lock Stops a second copy of CroStream from using the same folders. See Lock file.
config.v1.json.bak, config.v2.json.bak, token.v1.json.bak Only if you upgraded from an early version: your old settings and login, kept for rolling back. See Upgrading.

Not in the settings file

Overlays and widgets are separate files, so they are not part of config backups or of export. Back up the overlays/ and widgets/ folders to keep them.

The state folder

What CroStream records while it runs.

File or folder What it holds Safe to lose?
viewers.db The viewer database: every viewer, watch time, chat counts and points. No. Points can't be rebuilt.
backups/viewers-YYYYMMDD.db A daily copy of the viewer database; the newest 7 are kept. Yes, but they are your safety net.
library/ The media library: your images, sounds, videos and fonts (files/), their thumbnails (thumbs/) and the list of them (library.db). No, unless you still have the originals.
history.db The history: events, macro runs and chat messages, kept for 90 days by default. Yes. You lose old totals and logs.
state/ Queue contents, counters and other small things CroStream remembers between runs. Saved a moment after each change and again when CroStream quits. Mostly. Counters and queued items reset.
logins.json The account each integration was last signed in with and when it expires, so CroStream can warn you if a login is lost. No passwords or tokens. Yes.
popouts.json Where you last placed the Chat and Controls pop-out windows. Yes.
updates.json When CroStream last checked for updates, and a random install number used to spread updates out. It's never sent anywhere. Yes.
cache/ Downloaded chat emotes and web fonts. Yes. They download again.
control.json Only while CroStream runs: how crostreamctl login reaches the running app (a local port and a secret made fresh at every start). Readable by your user only; removed when CroStream quits. Yes.

On macOS the state folder is the config folder, so these files sit next to the ones above, and the daily viewer copies share the backups/ folder with the config backups.

Windows: the window's own storage

On Windows, the app window also keeps a small browser profile (remembered view options such as sort orders) in %AppData%, in a folder named after the program file, such as crostream.exe. It's safe to lose.

CroStream doesn't write log files. Everything it does is recorded on the Activity and History pages.

Secrets

Your Twitch login, your OBS password, and your webhooks' tokens, signing keys and destination secrets are secrets. They are kept in the secrets/ folder inside the config folder, never in config.json:

  • The folder and its files can only be read by your own user account.
  • The app never shows a stored secret. Password fields stay empty after you save; leaving one empty keeps the stored value.
  • Webhook tokens and keys are shown only behind Reveal and Show secrets in the incoming webhook's editor; a destination's secret can never be shown again once saved.
  • Secrets are never part of backups or exports, and restoring a backup never touches them.
  • Logging out of Twitch deletes the Twitch secret (and cancels it with Twitch).

Treat the secrets/ folder like a password: don't share it or post it. When you move to a new computer, copying it along carries your logins over; otherwise just log in again there.

Webhook addresses are in the settings file

A Discord webhook address in the Post to Discord action works like a password but is stored in config.json. It is left out of exports, but it is in the config backups. Don't share those files.

What to back up

To keep everything, back up:

  1. the whole config folder (settings, logins, overlays, widgets);
  2. from the state folder: viewers.db (or use Export on the Viewers page) and library/;
  3. optionally history.db, if you want to keep old totals and logs.

Quit CroStream first, so every file is complete. To move to another computer, copy these to the same places there before you start CroStream for the first time. See the tutorial Back up and move your setup.

Lock file

crostream.lock in the config folder makes sure only one copy of CroStream uses your folders at a time:

  • Opening CroStream again while it's already running brings the running window to the front.
  • If a second copy does start against the same folders (for example browser mode while the desktop app is open), it shows "CroStream is already running on this computer. Close the other copy first." and closes.
  • The lock is released when CroStream quits, even if it crashes. There is no need to delete the file.

Folders from before the rename

CroStream used to be called streamlink, and kept its folders under that name (%AppData%\streamlink, ~/Library/Application Support/streamlink, ~/.config/streamlink and so on). The first time CroStream starts, before it opens anything, it renames each old folder it finds to the new name. Your settings, logins, history, viewers and media carry over unchanged.

  • If a new folder already exists, the old one is left alone and not merged.
  • If the rename fails (for example a file in it is in use), CroStream keeps using the old folder and tries again at the next start.
  • If an old streamlink is still running from that folder, CroStream says "An older copy of CroStream (from when it was called streamlink) is running on this computer. Close it first." and closes.
  • On Windows the window's browser profile (%AppData%\streamlink.exe) moves the same way.

Very early versions also kept the state inside the config folder. If CroStream finds a state/ folder there, it moves it to the state folder once. If the move has to copy between drives, the original is kept as state.moved, which you can delete after checking everything works.