@forkcart/nyxclaw
v1.0.0
Published
Claude Max Sub proxy for OCPlatform - auto-patches Meridian for full tool passthrough
Downloads
25
Maintainers
Readme
🦞 nyxclaw
Claude Max Sub proxy patcher for OCPlatform — auto-patches @rynfar/meridian for full tool passthrough.
The Problem
Meridian is a proxy that lets you use your Claude Max subscription via API. It works great — except for one thing:
In passthrough mode, Meridian limits the model to 2 turns. This means Claude can only make 2 tool calls before being cut off. For platforms like OCPlatform that rely on multi-step tool use (file edits, shell commands, web searches, etc.), this is a deal-breaker.
The relevant line in Meridian's source:
maxTurns: passthrough ? 2 : 200The Solution
nyxclaw patches this to:
maxTurns: passthrough ? 1 : 200Setting maxTurns to 1 in the Claude Code SDK actually means "no artificial limit" — it lets the orchestrating platform (OCPlatform) handle turn management, which is exactly what you want in passthrough mode.
nyxclaw also sets up everything else you need:
- System user for running the proxy
- Sudoers configuration
- systemd service with
MERIDIAN_PASSTHROUGH=1 - Auto-start on boot
Installation
npm install -g nyxclawQuick Start
# Full setup (install meridian, patch, create user, systemd service)
sudo nyxclaw setup
# Log in to Claude (required once)
sudo -u meridian claude login
# Check that everything is working
nyxclaw statusCommands
nyxclaw setup
Full automated setup. Requires root. Does everything:
- Installs
@rynfar/meridianglobally (if not already installed) - Patches the maxTurns limit for passthrough mode
- Creates a
meridiansystem user - Configures sudoers for the meridian user
- Generates a systemd service file with
MERIDIAN_PASSTHROUGH=1 - Enables the service for auto-start on boot
- Starts the service (if Claude is already logged in)
nyxclaw patch
Re-applies just the maxTurns patch. Useful after updating meridian:
npm update -g @rynfar/meridian
sudo nyxclaw patch
sudo systemctl restart meridiannyxclaw status
Health check. Shows:
- ✅/❌ Meridian installed
- ✅/❌ Patch applied
- ✅/❌ System user exists
- ✅/❌ Sudoers configured
- ✅/❌ Service running
- ✅/❌ Claude authenticated
How It Works
┌─────────────┐ ┌──────────────────┐ ┌──────────────┐
│ OCPlatform │────▶│ Meridian Proxy │────▶│ Claude API │
│ (your app) │◀────│ (patched by │◀────│ (Max Sub) │
│ │ │ nyxclaw) │ │ │
└─────────────┘ └──────────────────┘ └──────────────┘- OCPlatform sends API requests to Meridian (localhost)
- Meridian proxies them to Claude using your Max subscription
- nyxclaw's patch ensures passthrough mode doesn't limit tool use
MERIDIAN_PASSTHROUGH=1enables the passthrough pipeline
systemd Service
The generated service file at /etc/systemd/system/meridian.service:
[Service]
User=meridian
Environment=MERIDIAN_PASSTHROUGH=1
Restart=always
RestartSec=5Useful commands:
sudo systemctl start meridian # Start
sudo systemctl stop meridian # Stop
sudo systemctl restart meridian # Restart
journalctl -u meridian -f # Follow logsAfter Meridian Updates
When you update meridian, the patch gets overwritten. Just re-apply:
npm update -g @rynfar/meridian
sudo nyxclaw patch
sudo systemctl restart meridianOr if you installed nyxclaw globally, the postinstall script will try to auto-patch.
Requirements
- Node.js >= 18
- Linux (systemd-based)
- Root access (for setup)
- Claude Max subscription (logged in via
claude login)
Troubleshooting
"maxTurns pattern not found" Meridian may have updated its source code. Check the dist file manually:
grep -r "maxTurns" $(npm prefix -g)/lib/node_modules/@rynfar/meridian/dist/Service won't start
journalctl -u meridian -n 50 --no-pagerClaude not authenticated
sudo -u meridian claude loginLicense
MIT © Fabian Budde
Built by Nyx 🦞 — the cosmic lobster that patches your proxies.
