Meridian

Routing

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.

Loading…

SDK Features Experimental

Choose SDK features for each connected agent. In passthrough, tools and project instructions come from the client; Meridian does not load proxy-host CLAUDE.md, hooks, or MCP integrations. SDK-owned tool execution can use the host instruction sources selected below. Memory and dreaming remain separate opt-ins.

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.

Model Pricing

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.

ModelInputOutputCache ReadCache WriteSource
Cache read and cache write are optional; when left blank they default to 0.1x and 1.25x of the input rate (the 5-minute cache TTL multipliers). Verify current list prices at claude.com/pricing and OpenAI pricing.

Telemetry Storage

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.

Loading…

Transcript Retention

Every request leaves a Claude Code transcript on disk, in the config directory of the profile that served it, and Meridian starts Claude Code with its own cleanup switched off, so that directory keeps growing. Off by default. Set a number of days to turn on Claude Code's own cleanup in the processes that serve requests. When on, Claude Code deletes all of its files older than that in each profile directory, not only transcripts: transcripts (including conversations Meridian still maps, which then replay from the client's history), file history, plans, tasks, uploads, shell snapshots, debug logs and backups. Without profiles that directory is your own ~/.claude. A profile whose own settings.json sets cleanupPeriodDays keeps its value. Changes apply to the next request; no restart needed.

Loading…

Updates

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. The same check covers every loaded plugin installed from an npm package, listed below, so turning it on also sends those plugins' package names to the registry. Off unless you turn it on — nothing contacts the registry until then. The header shows the running version either way.

Loading…

Claude Code Executable

Which Claude Code runs each request. System uses the claude on your PATH, so an installation newer than Meridian's own copy can serve a model that copy is too old for; Meridian's copy is used when there is none. Bundled uses the copy Meridian ships with, the version its Agent SDK was tested against, and falls back to PATH. Custom runs the executable at a path you choose. A change applies to the next request without a restart; requests already running finish on the executable they started with. MERIDIAN_CLAUDE_PATH, when set, overrides this choice.

Loading…

Site Header

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.

Loading…

Layout

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.

Loading…
Saved