A coding agent that actually works with the model you already run.
Most agent CLIs bet on native function-calling and fall apart the moment a model gets it slightly wrong. Polyglot parses and repairs tool calls out of raw model text instead - the same reliable loop whether it's Claude, GPT, or Qwen running on your own GPU.
pnpm install && pnpm build and you're running it locally.
I'll check that file.
<tool_call name="read_file">
{path: 'src/app.ts',}{"path": "src/app.ts"}⏺ read_file ✓ executed
Why this exists
What breaks
Native function-calling assumes the model outputs near-perfect JSON against a provider's exact schema. Open-weight models frequently don't - malformed arguments, missing fields, near-miss tool names - and the whole agent loop stops.
What Polyglot does
Tools are described in the system prompt, and a fault-tolerant streaming parser extracts and repairs the call from whatever text comes back - trailing commas, single quotes, a model that defaults to OpenAI-style JSON instead of the taught format. Same executor, every provider.
What you get
Any provider, same behavior
Anthropic, OpenAI, or any OpenAI-compatible endpoint - Ollama, vLLM, LM Studio, llama.cpp server, TGI. The tool-call path is identical underneath all of them.
Permission modes
manual asks before every write or command. auto runs freely with allow/deny rules. plan explores read-only until you approve what it's about to do.
MCP servers
Connect any MCP server over stdio. Its tools go through the same text-parsed grammar as the built-ins - usable by a local model, not just Claude or GPT.
Multi-agent
The task tool delegates to a fresh sub-agent with its own tools and context, up to a bounded depth. Parallel task calls in one turn run concurrently.
Full TUI
Streaming responses, inline tool-call cards, approval prompts, Shift+Tab to cycle permission mode mid-session - not a bare line-by-line prompt.
Source-available
Read it, modify it, self-host it, run it internally, for free, forever. FSL-licensed - converts to Apache 2.0 two years after each release.
Try it against your own model.
No account, no API key required if you're running local.