freellmapi-proxy — Claude Code skill: one proxy for free LLMs
This skill sets up a self-hosted Anthropic-compatible proxy that puts free-tier keys from many providers behind one endpoint.
npx skills add reason-machines/trending-skills --skill freellmapi-proxy -a claude-codeWhat freellmapi-proxy does
FreeLLMAPI gathers keys from roughly fourteen providers — Google, Groq, Cerebras, SambaNova, NVIDIA, Mistral, OpenRouter, GitHub Models, Hugging Face, Cohere, Cloudflare, Zhipu, Moonshot, MiniMax — behind a single /v1/chat/completions. Send model: "auto" and the router picks whichever provider is available; on 429 or 5xx it moves down the fallback chain. Provider keys sit in SQLite encrypted, and multi-turn conversations can stick to one provider.
Setup is a plain Node project: git clone, npm install, then an ENCRYPTION_KEY in .env. That key is a 64-character hex string and it protects every stored provider key, so the store is useless without it. npm run dev starts the server plus a Vite dashboard; the production build serves the API and panel on port 3001.
You add keys on the Keys page, reorder providers under Fallback Chain, and copy the unified freellmapi-… bearer token from the same page. Any OpenAI SDK client works — point base_url at http://localhost:3001/v1. Tool calling runs across all providers, and Gemini requests get translated to functionDeclarations and back on the fly.
What it helps with
- put free-tier keys from several providers behind one endpoint
- survive a 429 by failing over to the next provider
- keep a multi-turn conversation pinned to one provider
- store provider keys encrypted instead of plain in
.env - call a named model such as
gemini-2.5-flashthrough the shared router
Example prompts for the agent
- Set up FreeLLMAPI and add my Groq and Cerebras keys from the dashboard
- Reorder the fallback chain so Gemini comes first and OpenRouter last
- Send a request through the proxy with
model: "auto"and tell me which provider answered
How to install freellmapi-proxy
1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill freellmapi-proxy -a claude-code2Manually: put the files in place
~/.claude/skills/freellmapi-proxy/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/freellmapi-proxy/
1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill freellmapi-proxy -a codex2Manually: put the files in place
.agents/skills/freellmapi-proxy/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill freellmapi-proxy -a cursor2Manually: put the files in place
.cursor/skills/freellmapi-proxy/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install reason-machines/trending-skills freellmapi-proxy2Manually: put the files in place
.github/skills/freellmapi-proxy/SKILL.md1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill freellmapi-proxy -a gemini-cli2Platform CLI
gemini skills install https://github.com/reason-machines/trending-skills --path skills/freellmapi-proxyManually: put the files in place
.devin/skills/freellmapi-proxy/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill freellmapi-proxy -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about freellmapi-proxy
How do I install freellmapi-proxy in Claude Code?
Run npx skills add reason-machines/trending-skills --skill freellmapi-proxy -a claude-code. The skill lands at ~/.claude/skills/freellmapi-proxy/SKILL.md.
What does freellmapi-proxy do?
It stands up an OpenAI-compatible proxy that combines free-tier keys from about fourteen providers and switches between them when one fails.
What do I need before running the proxy?
Node.js 20+ and npm. The .env file must carry an ENCRYPTION_KEY, which encrypts provider keys before they reach SQLite.