How unpinned requests choose an account. Active uses the manually
selected profile. Sticky distributes sessions across profiles evenly
(cache-affine). Priority drains the pool in order — highest first —
and fails over per request when an account runs out; conversations keep their account, and new sessions
return to the preferred account after its window resets.
Active+priority keeps you in charge - every request goes to the
profile you selected - but the moment that account is refused, the request is re-sent to the next healthy
account in the pool order and answered from there, so the client never sees the error. Switching the active
profile moves running conversations too, which is the difference from priority. It reuses the same pool
order below; the active profile always goes first, wherever it sits in that list.
An explicit x-meridian-profile header
always overrides. Changes apply to the next request — no restart needed.
Unlock Claude Code features for any connected agent. Capabilities like auto-memory, dreaming, and CLAUDE.md — normally
exclusive to Claude Code — become available to OpenCode, Crush, Droid, and any other harness routed through Meridian.
Each agent keeps its own toolchain while gaining access to these additional features.
System prompts: For these features to work correctly, both the Claude Code prompt and your client prompt
should be enabled. When both are active, they are appended together — Claude Code's base instructions come first,
followed by your agent's specific instructions.
Rates used by the telemetry cost estimate, in USD per million tokens. Edit a value to override the built-in rate, or add models the built-in table doesn't know about (they show as "no pricing" on the dashboard until defined here). Changes apply on the next dashboard refresh.
| Model | Input | Output | Cache Read | Cache Write | Source |
|---|
What /telemetry remembers, and for how long. By default telemetry lives in a fixed-size ring in memory: fast, free, and gone the moment the proxy restarts — which is also why a window longer than an hour or so usually shows less than it names. Persisting moves it to SQLite, where rows survive a restart and are deleted by age instead of by count. These settings apply on the next start, not to the running proxy. The stores are built once at startup and cannot be swapped out from under requests already in flight.
Meridian is installed and updated by hand, so an instance can sit on an old version for weeks without anyone noticing. Switch this on and it asks the npm registry once a day whether a newer version is published; the site header then says so, beside the version it is running. Off unless you turn it on — nothing contacts the registry until then. The header shows the running version either way.
With several Meridian instances open in tabs, they all look the same. Switch this on and the header names
the machine this one runs on, beside its status. Off unless you turn it on, because the hostname is then
also reported by /health, which answers without the API key.
How much of the window these pages use. Contained keeps every page in a centered column, the way Meridian has always looked. Wide uses the whole window, for a big monitor and many accounts: the home page fits more account cards on each row at about the same size, and Profiles lays its larger cards out side by side, two to four to a row depending on the screen. Phones get one column either way. The choice is saved on this Meridian, so every browser that opens it sees the same layout. Other pages pick it up on their next load; this one switches as soon as you choose.