Skip to main content
Every session Meridian records is stored in a local SQLite database at ~/.meridian/meridian.db. The dashboard and MCP server both read from this file, but you can also query it directly with any SQLite client. This is useful when you want a custom report, need to export data to another tool, or simply want to explore your activity history in ways the built-in views don’t cover.
Always open meridian.db in read-only mode when querying directly. Writing to the database while the daemon is running can corrupt the file. The sqlite3 CLI opens the database read-write by default — use the flags below or append ?mode=ro to the URI to stay safe.

Open the database

To open in strict read-only mode:
meridian.db grows at roughly 10 MB per ~9,000 screenpipe frames. A full workday of recording typically produces 5–20 MB depending on how frequently apps switch.
If you only want to ask questions in plain English, the Meridian MCP server provides a higher-level interface directly inside your AI tool. See MCP Setup to get started.

Database schema

The key tables you’ll query most often:
The primary table. One row per closed app session.
A single-row table (id = 1) that the daemon keeps updated with the session currently in progress. Useful for “what am I doing right now?” queries.
All open tickets pulled from Jira, GitHub Issues, and Linear. Used as classification targets.

Example queries

Top apps by time today

Session count and total time per category

Sessions in a specific date range

Search sessions by window title

Summarise time linked to Jira tickets

Use the .mode and .headers settings for readable output

When running queries interactively in the SQLite shell, these settings make results easier to read:
Or export to CSV for use in a spreadsheet: