The configuration file
Everything you set up in the configuration window is saved in one file, config.toml. Input.Observer reads it
when it starts and whenever you apply changes. You never need to touch it: the configuration window reads and
writes it for you. This page is for when you want to know where it is, keep it somewhere else, recover it, or
edit it by hand.
Where it is
Input.Observer looks for config.toml in this order:
- Beside the program, in the folder that holds
Input.Observer.exe. If aconfig.tomlis there, Input.Observer uses it — this is how a copy run from a USB stick keeps its settings with it. - Otherwise in your user profile:
%APPDATA%\Input.Observer\config.toml.
If that file contains only a pointer to another file, Input.Observer uses the other file ("Keeping the configuration somewhere else" below).
To open the folder, choose Open Config Folder from the tray menu. In Advanced mode, the General page's Config file card shows the file in use and whether it is encrypted, and Reveal opens it in File Explorer.
These files sit beside config.toml and always go with it:
| File or folder | Holds |
|---|---|
license.dat | Your license email and key |
console.toml | The console's script editor text and window position |
gesture_profile.dat | Which gesture profile is active |
storage.toml | Values scripts store between runs |
styles.toml | The Styles plugin's settings (other plugins may keep their own files here too) |
Backup\ | Automatic backups of config.toml ("Backups" below) |
Recordings\ | Saved macro recordings |
Entitlements\ | Style purchase files (Appearance) |
Backups
Each time Input.Observer exits, it copies config.toml into the Backup folder beside it — but only when the
configuration has really changed since the newest backup. Comments, spacing and the order of entries don't count
as changes. The newest 10 backups are kept; older ones are deleted.
- Backup names carry the date and time in UTC, for example
config.20260923T180512Z.toml, so sorting by name sorts by age. Each has a.sha256file beside it that Input.Observer uses to tell whether anything changed. - A backup of a protected configuration stays encrypted, with the password that was in use at the time. When you set a password, the plain-text backups are deleted (Security).
- To go back to a backup, close Input.Observer (tray menu, Exit), copy the backup over
config.tomlunder that name, and start Input.Observer again.
When the file can't be loaded
If config.toml exists but can't be read — it isn't valid, or the file it points to is missing — Input.Observer
shows "Input.Observer can't load your configuration" at startup, with where it looked and, under Details,
what is wrong. It offers three choices:
| Choice | What happens |
|---|---|
| Browse for a configuration file | Pick another config.toml on this computer. Input.Observer uses that file where it is, and remembers it: the usual file becomes a pointer to it. If the usual file held settings, it is first renamed aside. If the file you pick can't be loaded either, the dialog shows why and asks again. |
| Start fresh with a new default configuration | The broken file is renamed, not deleted, and a new minimal configuration is written in its place. |
| Close Input.Observer | Nothing changes. Fix the file yourself, then start Input.Observer again. |
A renamed file is named like config.toml.broken-20260923-180512.bak, in the same folder. If the file can't be
renamed (for example, another program has it open) or the folder can't be written to, nothing is overwritten:
the dialog tells you and asks again.
The same dialog appears after three wrong passwords for a protected configuration — see If you forget the password.
If there is no config.toml at all, that is a first run: Input.Observer creates a new one with the starter set and
opens the welcome (First run).
Keeping the configuration somewhere else
You can keep your real config.toml in another folder — a synced folder, for example — and leave a pointer in the
usual place. The pointer is a config.toml that contains only this:
[config_location]
path = "D:\\Sync\\Input.Observer\\config.toml"
- A relative path is read from the folder the pointer file is in.
- Everything that goes with the configuration (the files in the table above) then lives beside the target file, not beside the pointer.
- Browse for a configuration file in the recovery dialog writes this pointer for you.
- If the target doesn't exist, Input.Observer shows the recovery dialog at startup rather than starting with defaults. Reload Config keeps the running configuration and says the target is missing.
- The pointer is never encrypted, and is never exported or imported.
Restart Input.Observer, or choose Reload Config from the tray menu, after changing the pointer.
Editing the file by hand
config.toml is a plain-text TOML file, and you can edit it with any text editor. Know these first:
- A protected configuration can't be edited by hand. It is encrypted; remove the password first (Security).
- Apply your edit with Reload Config from the tray menu, or restart Input.Observer. While the configuration window is open, it notices the file changed when you next save and asks whether to Reload (dropping your unsaved changes in the window), Overwrite the file, or Keep editing.
- If Reload Config can't read the file, it tells you. The previous configuration stays in effect, and a Configuration Not Reloaded message names the line and column of the mistake, with the reason in English as the file reader reports it (Reload Config). Fix it and reload again. At the next start, the same mistake brings up the recovery dialog.
- Input.Observer repairs what it can and tells you. An entry it can't use is skipped, and a value out of range is reset or limited. Each repair is listed in the console's System section, and the configuration window shows them as notes from the engine. A few serious cases also show a message at once.
- Input.Observer may rewrite the file. When a setting it expects is missing, it writes the whole file back with every setting present, and comments you added are lost then. Keep notes elsewhere.
- A file larger than 8 MB still runs, but the configuration window can't open it; Input.Observer warns at startup.
- Make a copy before a large edit. The backups only cover changes made up to the last exit.