Skip to main content
Meridian reads its configuration from a single .env file at the repository root, shared by the Rust daemon and the Python agents. ./install.sh creates and populates this file from .env.example on first run. You can edit it at any time with meridian config edit. Changes take effect after a meridian restart. Every variable has a safe default; you only need to set the ones relevant to your workflow. The sections below list every supported variable grouped by the part of Meridian that reads it.

Core Daemon

These variables control how the Rust ETL daemon reads screenpipe data and writes to its own database.
Setting CLASSIFICATION_ENABLED=false lets you run the full ETL pipeline — including session segmentation and app-category tagging — without starting the MLX server at all. This is useful on machines without Apple Silicon, or when you only need raw session data.

Jira

All three credential variables must be set for the Jira connector to activate. The connector fetches open issues and the classification pipeline links sessions to ticket keys.

GitHub

Both credential variables must be set to enable the GitHub connector. Meridian fetches open issues and pull requests from the specified organisation and links them to sessions alongside Jira tickets.

Linear

Set LINEAR_API_KEY to enable the Linear connector.

MCP Server

The MCP server reads one variable at startup to locate the database.

Minimal Example Configuration

The block below shows the minimum set of variables needed to run the full Meridian stack with Jira classification enabled. Copy it to the repo-root .env and fill in your values, or use meridian config edit to open the file directly.
After editing the repo-root .env, run meridian restart to apply the new values. The daemon reads the file once at startup and does not hot-reload changes.