You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Meridian logs confirm routing works (adapter=pi, session=new), but sdk_termination reason=unknown on every call.
Diagnosis steps
Stripped anthropic-beta header via reverse proxy (confirmed stripped by request log) → Custom betas stderr warning disappeared, but 400 persists.
Plugin onRequest(ctx) does not expose ctx.headers — delete operations were no-ops. The plugin API needs a way to modify incoming HTTP headers before SDK dispatch.
Anthropic's classifier fires on the presence of tools in the request body, independent of system prompt or headers. Pi sends tools=4 on every request → always triggers.
Impact
Meridian's passthrough mode for agentic clients (Pi, Cline, etc.) is effectively unusable on Max subscriptions — not because of misconfiguration, but because the agentic tool pattern itself triggers extra-usage billing server-side.
Questions for maintainer
Does the SDK query() path send tools in a format that bypasses the classifier (vs. raw HTTP)?
Is there a no-tool or tool-free mode for non-interactive requests worth investigating?
Can onRequest(ctx) be extended to expose incoming HTTP headers for plugin-level stripping?
Workaround
None found. Using local model provider.
Environment
Problem
Every request from Pi fails with:
Meridian logs confirm routing works (
adapter=pi,session=new), butsdk_termination reason=unknownon every call.Diagnosis steps
Stripped
anthropic-betaheader via reverse proxy (confirmed stripped by request log) →Custom betasstderr warning disappeared, but 400 persists.Plugin
onRequest(ctx)does not exposectx.headers— delete operations were no-ops. The plugin API needs a way to modify incoming HTTP headers before SDK dispatch.Cross-referencing [Bug]: On a Claude Max 20x subscription with a valid OAuth access token from ~/.claude/.credentials.json, every Hermes request to native Anthropic (provider: anthropic, https://api.anthropic.com/v1/messages) is rejected with HTTP 400 NousResearch/hermes-agent#15080: raw API test with same OAuth token shows:
tools=false→ 200tools=true→ 400 "out of extra usage"Anthropic's classifier fires on the presence of
toolsin the request body, independent of system prompt or headers. Pi sendstools=4on every request → always triggers.Impact
Meridian's passthrough mode for agentic clients (Pi, Cline, etc.) is effectively unusable on Max subscriptions — not because of misconfiguration, but because the agentic tool pattern itself triggers extra-usage billing server-side.
Questions for maintainer
query()path sendtoolsin a format that bypasses the classifier (vs. raw HTTP)?onRequest(ctx)be extended to expose incoming HTTP headers for plugin-level stripping?Workaround
None found. Using local model provider.