Skip to main content
Meridian is configured entirely through environment variables. There are no config files with special formats or UI settings to hunt down — every option is a key-value pair in a single .env file. meridian setup creates the file and you can edit it at any time.

Where configuration lives

The npm install lays out the runtime under ~/.meridian/: Contributors building from source share the same on-disk layout, except their config lives at the repo-root .env instead of ~/.meridian/app/.env (the source checkout is what meridian dev runs against).

Editing configuration

To open the config in your $EDITOR, run:
This opens ~/.meridian/app/.env (or the repo-root .env for source builds). After saving, restart for the change to take effect:

Environment variable reference

Core daemon settings

These variables control how the Rust daemon reads screenpipe data and classifies sessions. All of them are optional — the defaults work out of the box.
Setting CLASSIFICATION_ENABLED=false lets you run Meridian in activity-tracking mode. The daemon still reads screenpipe frames, builds app sessions, and assigns activity categories — it just skips the ticket-linking step and doesn’t require the MLX server to be running. This is useful if you’re not ready to configure PM credentials or just want to explore the session data first.

Jira

All three credential variables are required to enable the Jira connector. JIRA_PROJECT_KEYS is optional — omitting it syncs across all projects your account can access.

GitHub

Both credential variables are required to enable the GitHub connector. GITHUB_REPOS is optional — omitting it covers all repositories in your org.

Linear

The API key is required to enable the Linear connector. LINEAR_TEAM_IDS is optional.

Minimal working configuration

The smallest configuration that enables activity tracking, session categorisation, and Jira ticket sync is:
~/.meridian/app/.env
Everything else defaults to safe values and can be added incrementally.

Editing credentials later

The npm install does not include an interactive credential prompt — edit the file directly:
Contributors who built from source can re-run ./install.sh --skip-permissions to be re-prompted for any variable that isn’t already set; ./install.sh --skip-env bypasses the prompt flow entirely.
You can edit the .env with any text editor and then run meridian restart. The daemon reads the file once at startup and does not hot-reload changes.