WindowsmacOSLinux

Where Does Supermaven Store Config and API Keys?

Supermaven stores its API key and settings in a .supermaven folder in your home directory on every OS, not in AppData or .config.

Last updated

Supermaven ignores platform conventions on purpose. Every OS uses the same home folder location: a .supermaven directory with config.json for auth, a binary folder with versioned sm-agent builds, and chat.json for MCP servers. There is no separate AppData or Application Support tree to learn.

The file that matters most is config.json, since it holds the API key. Back that up and you keep your activation. The binary folder underneath is disposable bulk that re-downloads, so skip it in backups and save the space.

Where Supermaven stores this, by platform

Windows
%USERPROFILE%\.supermaven\config.json

Home-dir config holding api_key and machine IDs. Windows uses %USERPROFILE%\.supermaven rather than AppData, which surprises people looking in Roaming. Back up config.json and chat.json, skip the binary subfolder.

macOS
~/.supermaven/config.json

Same home-dir layout as other platforms: config.json for auth, chat.json with the mcpServers key, and binary/<version>/<platform>/sm-agent underneath. The agent also honors .supermavenignore per repo.

Linux
~/.supermaven/config.json

Same home-dir layout, deliberately not XDG. Config sits at ~/.supermaven/config.json rather than ~/.config. Binaries version under ~/.supermaven/binary and re-download when missing.

Frequently asked questions

Where is my Supermaven API key stored?

Open ~/.supermaven/config.json (on Windows that is %USERPROFILE%\.supermaven\config.json). It holds api_key, link and machine IDs. Keep this file private exactly like a password, since it authenticates your account.

How do I add MCP servers to Supermaven?

Edit ~/.supermaven/chat.json and add your servers under the mcpServers key. Restart the editor after saving. The binary that reads it lives under ~/.supermaven/binary/<version>/<platform>/sm-agent.

How do I exclude folders from Supermaven?

Add a .supermavenignore file in the repo root. The sm-agent respects it alongside .gitignore when deciding which files to read. That is the supported way to keep vendored or generated code out of completions.

Notice an outdated path? Let us know.