CClawMetryDocs

Configuration

Files and directories#

Two categories, and the distinction is the whole read-only contract: ~/.clawmetry/ belongs to ClawMetry, and everything else belongs to your agents and is only ever read.

ClawMetry's own state#

text
~/.clawmetry/
  local_store.duckdb      the store — everything ClawMetry knows
  local_query.json        the daemon's query-server discovery file
  license.key             a self-hosted license, if any
  cloud_plan.json         cached cloud plan, for entitlement resolution
  hitl/
    pause_<session_id>    pause flag files, enforced by the proxy
  reports/                Markdown you drop in for the reports browser
  evals/                  eval suite YAML
VariableMoves
CLAWMETRY_HOMEThe whole directory
CLAWMETRY_LOCAL_STORE_PATHJust the store file

Runtime directories — read only#

ClawMetry opens these read-only and never writes into them.

RuntimeLocation
OpenClaw / NemoClaw~/.openclaw/
Claude Code~/.claude/projects/
Codex~/.codex/sessions/
CursorCursor application support + ~/.cursor/projects/
Cline~/.cline/data/
Copilot~/.copilot/
Gemini CLI / Antigravity~/.gemini/
Qwen Code~/.qwen/projects/
Goose${XDG_DATA_HOME:-~/.local/share}/goose/
opencode${XDG_DATA_HOME:-~/.local/share}/opencode/
Devin${XDG_DATA_HOME:-~/.local/share}/devin/cli/
OpenHands~/.openhands/
OpenWorker~/.config/coworker/
Deep Agents~/.deepagents/.state/
DeepSeek Harness~/.dsh/sessions/
Kimi~/.kimi/ and ~/.kimi-code/
Grok~/.grok/
Hermes~/.hermes/
PicoClaw~/.picoclaw/workspace/sessions/
NanoClaw<checkout>/data/v2-sessions/
Pi~/.pi/agent/sessions/
n8n~/.n8n/database.sqlite
Exo<workspace>/.exo/exoharness/
Aider<project>/.aider.chat.history.md
QMPostgreSQL — no local files

Each runtime's reference page has the exact discovery order and its environment overrides.

Two exceptions to "home directory"

Exo anchors its state to the workspace, and Aider writes into each project. Neither has a central store, which is why discovery for those two is a bounded scan rather than a path resolution.

Hooks#

Where ClawMetry registers a pre-tool hook, it writes into that runtime's own configuration file — the one place it writes outside its own directory.

Entries it owns are marked, and it only ever removes its own. If you are editing hook configuration by hand, do the same: deleting an entry you did not create breaks somebody else's tooling silently.

A hook marker that stops matching

If a marker cannot be matched — because a launcher path changed shape, for instance — an install will append rather than replace, every time. A hook configuration file that has grown to thousands of entries is that bug, and clawmetry uninstall is the fix.

Service files#

PlatformLocation
macOS~/Library/LaunchAgents/
Linuxsystemd user or system units
WindowsThe registered service

Run it as a service

What to back up#

PathWhy
~/.clawmetry/local_store.duckdbYour history. Stop the daemon before copying.
~/.clawmetry/license.keyA self-hosted license
The cloud encryption keyWithout it, cloud ciphertext is unrecoverable
~/.clawmetry/evals/Your eval suites
~/.clawmetry/reports/Your saved reports

The runtime directories are your agents' data, and their own backup problem.

What to exclude from backups and repositories#

  • license.key and the encryption key — credentials.
  • The store, if your backup target is somewhere you would not want transcripts.

It contains session content, including anything secret an agent read.

Ports#

PortService
8900The dashboard
4100The enforcement proxy
18789The OpenClaw gateway (not ClawMetry's)
ephemeralThe daemon's localhost query server — see local_query.json

Ports and networking

Cookie preferences