Data & file locations

Where Open Free Max stores its settings, memory, usage and Mission Control data — and why your agent transcripts live elsewhere.

OFM keeps a small footprint in the OS config directory. Agent transcripts are deliberately not here — they stay in each CLI’s own store.

Config directory

  • Windows%APPDATA%\com.openfreemax.ide\
  • macOS~/Library/Application Support/com.openfreemax.ide/

One folder per account

Since 4.0.0, everything that belongs to you lives one level down, in a folder named after your OFM account. Two accounts on the same machine therefore no longer share projects, memory or orchestrator state.

  • The move happens once, at the first launch after signing in, and nothing is discarded on the way.
  • Switching account means restarting the app.
  • Projects are folders on your disk: the profile isolates OFM’s own state, not the file system.

A few machine-level files stay at the root on purpose, starting with usage.db: it carries the installation id, which has to survive an account change.

The paths below are relative to the active account folder, except where noted.

What’s inside

Path Contents
settings.json App settings (provider flags, Mission Control, theme, language, routing)
routing_quota.json What the quota gauges show, per subscription. Local only
provider_usage.json Which CLIs you have actually run per project, and which you excluded as fallbacks
routing_outcome.json Your recent routing preferences per project. Erasable from the router panel
memory.db Memory store — ingested agent history and distilled facts. Stays on your machine; never uploaded
projects.db Registry mapping each project to its own isolated memory store
project-memory/<id>/memory.db One per-project store, keyed by a hash of the project path, so knowledge never leaks between clients
usage.db Usage measurements — token counts, activity and cost roll-ups. Deliberately separate from memory.db, and kept at the machine root rather than per account
memvault-mcp.json Generated MCP configuration handing the memory tools to a session. Rewritten at launch, never merged into your CLI config
recents.json Recently opened workspaces
open_projects.json Session snapshot (open projects + active tab)
sessions/ The session map per workspace (which agent tabs were open)
shots/ Saved screenshots from the image workflow
mc/audit.jsonl Append-only audit log
mc/policies.json Auto-approval rules
panic.log Crash black box — if the app ever crashes, the panic message and location are appended here (attach it to a bug report). Machine root

What OFM writes inside your project

Two things can appear in the project folder itself, and both are visible and removable:

Path Written when
CLAUDE.md / AGENTS.md Memory injection Path B is on. Only the region between the MEMVAULT:BEGIN and MEMVAULT:END markers is written — the rest of the file is yours
.agents/plugins/ofm/ An Antigravity session needs MCP servers. The CLI accepts no configuration flag, so the descriptor goes in the project rather than in the global ~/.gemini/config/, which is shared with other Google products

Nothing else is written into your repository, and OFM never edits ~/.claude.json, ~/.codex/config.toml or any other CLI’s own configuration.

Where transcripts live

Conversations are stored by the agent CLI (e.g. ~/.claude/projects/…), not by OFM. OFM keeps only the tiny session map and resumes each tab via the CLI’s --resume. That separation is exactly why a conversation can’t be lost.

Renaming note

The bundle identifier is com.openfreemax.ide. If you migrated from an earlier identifier, copy the old config directory to the new one to carry settings, memory and screenshots over.