meridian doctor. It runs the full suite of environment health checks — binary presence, plist validity, running processes, database existence, Python venv, and MCP build — and tells you exactly which check failed and what to do about it.
Installation & Setup
macOS Gatekeeper blocks the binary on first launch (unsigned v1)
macOS Gatekeeper blocks the binary on first launch (unsigned v1)
`npm install -g` fails with EACCES
`npm install -g` fails with EACCES
/usr/local. Running npm install -g (with or without sudo) is not the right fix; use the bootstrap one-liner instead. It redirects the prefix to ~/.npm-global (user-owned), patches your shell profile so the change persists across terminals, and then installs Meridian and runs setup:sudo. Re-running it after a failed install is safe.`meridian: command not found` after install
`meridian: command not found` after install
npm install -g @meridiona/meridian puts the CLI on the npm global bin path. If your shell can’t find it, that directory is not on your PATH.-
Find the npm global bin:
npm bin -g(typical values:/usr/local/bin,~/.npm-global/bin, or~/.local/bin). -
Add it to your
PATHin~/.zshrc(or~/.bashrc): -
Open a new shell or
source ~/.zshrc.
curl -fsSL .../bootstrap.sh | bash) does this automatically — re-run it if you’d rather not edit your profile by hand.`meridian setup` fails at the Homebrew step
`meridian setup` fails at the Homebrew step
meridian setup uses Homebrew to install system dependencies (Python 3.11, ffmpeg, screenpipe). If it fails at this step:- Make sure you have an active internet connection.
- Ensure Xcode Command Line Tools are installed:
meridian setup after the installation completes.Source build: Rust or Python setup fails
Source build: Rust or Python setup fails
./install.sh instead of installing from npm. The npm distribution ships a prebuilt binary and never needs Rust or a Python toolchain on your machine.Rust toolchain: rustup show should report a stable toolchain for aarch64-apple-darwin. If rustup itself is missing, install it from rustup.rs. rust-toolchain.toml in the repo pins the required version.Python: the source build requires Python 3.11 (brew install python@3.11 or pyenv install 3.11). After installing, re-run ./install.sh.Daemon & Runtime
Daemon exits immediately on startup
Daemon exits immediately on startup
server: MLX model ready (this can take a few minutes on the very first run while the ~6 GB model downloads, then ~5 seconds from cache thereafter).If the MLX plist is missing entirely (e.g. meridian status reports not installed), re-run meridian setup to re-register the launchd agents.Alternatively, if you do not need session classification, set CLASSIFICATION_ENABLED=false in ~/.meridian/app/.env and restart:meridian doctor afterwards to confirm everything is healthy.How to check daemon health
How to check daemon health
Sessions are not appearing in the database
Sessions are not appearing in the database
meridian status shows the daemon is running but no sessions appear in ~/.meridian/meridian.db, check the following:- Is screenpipe running?
- Does the screenpipe database exist?
- Is
SCREENPIPE_DBpointing to the right path?
Integrations
Jira: 401 Unauthorized
Jira: 401 Unauthorized
Jira: no Jira tasks are loading
Jira: no Jira tasks are loading
- Check
JIRA_PROJECT_KEYS— if set, ensure the keys match exactly (e.g.KAN, notkan). - Confirm that the projects have open issues in the configured statuses.
- Force a full refresh without restarting the daemon:
GitHub: 401 Unauthorized
GitHub: 401 Unauthorized
Linear: no tasks are loading
Linear: no tasks are loading
- Verify
LINEAR_API_KEYis set correctly in~/.meridian/app/.env. - Check
LINEAR_TEAM_IDS— if set, confirm the team IDs are correct (visible in Linear’s workspace settings URL). - Ensure the teams have open issues in a status that the connector picks up.
- Check the daemon log (which handles all tracker sync) for error messages:
MCP Server
AI tool says Meridian is not found or DB is missing
AI tool says Meridian is not found or DB is missing
~/.meridian/meridian.db.- Confirm the daemon is running and has processed at least one poll tick:
- Check that the database exists:
- If you edited the MCP config file (
~/Library/Application Support/Claude/claude_desktop_config.json), verify that the path inargspoints to the actual repo location:
~ is not expanded by all MCP hosts.MCP server build fails
MCP server build fails
packages/meridian-mcp/dist/index.js is missing or stale, rebuild it:macOS Permissions
screenpipe is not recording — no frames in the database
screenpipe is not recording — no frames in the database
Dashboard
http://localhost:3939 is not loading
http://localhost:3939 is not loading
- Check whether the UI service is running:
- If it is not running, check the logs:
-
If the UI plist is missing entirely (
not installed), re-runmeridian setupto re-register the launchd agents. -
If the port is in use, set
MERIDIAN_UI_PORTin~/.meridian/app/.envto something else and restart:
meridian doctor is always the best first step for any issue. It checks every dependency and running service in one command and tells you exactly what needs fixing.