Companion CLI
csync runs on your gaming PC. It finds the config files of the games you play, imports them into ConfigSync as presets, and writes a preset back into those files — with a backup every time. One file to download, nothing else to install, and it only ever touches files on your own machine.
Install on Windows
Download csync.exe (about 90 MB — it carries its own runtime) and put it somewhere it can stay, for example C:\Tools\csync.exe. Open PowerShell in that folder; every command below is .\csync.exe … there.
The first run may show “Windows protected your PC”: the file is not code-signed yet. More info → Run anyway, or right-click the file → Properties → Unblock.
Install on Linux
curl -fsSL https://configsync.app/install.sh | sh csync --help
That puts csync in ~/.local/bin. Steam, Heroic and the Flatpak Steam are all found; Proton prefixes are searched for Windows-only games.
Connect it to your account
In the app, open Settings → Companion and create a token — one per machine, so you can revoke them separately. Then:
csync login https://configsync.app # paste the token when asked csync scan --push # tell the vault which games this PC has csync import cs2 # read CS2's config files into a new preset
csync games lists every catalog game and which of its files were found on this machine, and prints the exact Steam launch option for each. Games currently in the catalog: Counter-Strike 2 (cs2) and Rocket League (rocket-league), on Steam, Epic and Heroic.
Apply a preset
csync apply cs2 competitive writes the preset into the game’s files. Every file is copied to <file>.bak-<timestamp> first, only the keys the catalog maps are changed, and --dry-run prints the changes without writing. Close the game first: games rewrite their config on exit.
Keep every PC in sync (Pro)
csync watch --install starts a small background service with your session. It asks the vault every 30 seconds which preset this PC should have — the one you picked for it on the game page, otherwise the game’s Default — and applies it as soon as the game is closed. Change the Default from your phone; the PC follows.
csync watch --install # start with your session csync watch --once # one pass, for scripts csync watch --uninstall
On Windows, the ConfigSync app does the same from the tray: tick Keep games in sync and it starts with Windows and keeps running after you close its window.
Apply right before launch
The background poll can be late for the moment you press Play. csync launch applies the preset and then runs the game, so the files are right when the game reads them. If the vault is unreachable it says so and launches anyway.
- Steam → game → Properties → Launch Options:
csync launch cs2 -- %command% - Heroic → game → Settings → Advanced → Wrapper:
csync launch rocket-league --
Safety
- Nothing is written without a backup next to the file. Copy it back to undo.
- Only keys the catalog maps are touched; the rest of the file is kept byte for byte.
importalways creates a new preset. Nothing in your account is overwritten.- Steam Cloud may restore an older file on launch. If a change disappears, disable Cloud sync for that game and apply again.
- The token is stored in
~/.config/csync/config.json(%APPDATA%\csyncon Windows), readable only by you. Revoke it any time from Settings.
Help us support a game you play
A game can only be read and written once we know which key in which file holds each setting, and the honest way to learn that is to change one setting and see what moved. csync discover does that for you, for any game you have installed:
csync discover # installed games + where config lives csync discover "Apex Legends" # remember those files as they are # → change ONE setting in the game, then quit it csync discover "Apex Legends" --diff # the lines that setting wrote
The last command prints the lines that changed — which is exactly the key that setting writes. Send those lines to hello@configsync.app and the game can be mapped properly.
It works signed out and sends nothing anywhere: what it remembers stays in a file on your own machine, readable only by you. Look at the diff before sharing it — it is plain text, and you decide what goes in the email.
Commands
| csync login <url> | Save a token for this machine. |
| csync status [--json] | What this PC is connected to and what each game runs. |
| csync scan [--push] | List installed Steam / Epic / Heroic games; --push updates the vault. |
| csync games | Catalog games and which of their files exist here. |
| csync import <game> [--name …] [--json] | Read the files into a new preset. |
| csync apply <game> <preset> [--dry-run] [--json] | Write a preset into the files, after a backup. |
| csync watch [--interval 30] [--once] | Pro. Keep the files equal to this PC's preset. |
| csync launch <game> -- <command…> | Apply, then run the command. |
| csync discover [game] [--diff] | Find an unsupported game's config files and which keys a setting writes. |