IronCore
The coding agent that molds itself to local models.
Coding agents like Claude Code and Codex shine with frontier models but fall apart on a smaller open model you run yourself. IronCore flips the assumption: it first measures what your model can actually do, then moves the jobs small models are bad at — remembering goals, formatting tool calls, applying patches, knowing when to stop — into reliable code.
- Offline tests
- 2,740
- CI coverage gate
- 90%
- Lines of Python
- 30.8k
- GitHub releases
- 6

IronCore terminal session with list_dir, read_file and grep tool cards
Two ways to read it
In plain English
Coding agents like Claude Code and Codex shine with frontier models but fall apart on a smaller open model you run yourself. IronCore flips the assumption: it first measures what your model can actually do, then moves the jobs small models are bad at — remembering goals, formatting tool calls, applying patches, knowing when to stop — into reliable code.
For engineers
A Python 3.11+ Textual TUI and headless CLI with a JSON event stream. A background probe battery measures honest context, instruction retention, tool-call and edit-format reliability; the harness walks downgrade ladders (native function calls → guided-decoding strict JSON → a text protocol; unified diff → search/replace → whole file). Four safety modes, a policy engine, path jail, secret redaction, prompt-injection guards and git-snapshot undo.
What it does.
- Measures each model's honest context and tool-call reliability before trusting it
- Downgrade ladders guarantee a tool-call and edit format the model can produce
- Four safety modes cycled with Shift+Tab; network access is never auto-allowed
- Secret redaction, path jail, prompt-injection guards and git-snapshot undo
- An “is it really done?” loop that refuses to report unverified work
- Headless `ironcore exec` for scripts and CI, plus MCP servers, skills and plugins
The story
Advertised context is a lie. Measure it.
A 30B model that advertises 262,144 tokens of context may only stay honest for 49,152. IronCore finds that out in its first session, writes it into a model profile, and plans every turn around the real number — not the marketing one.
Built with
- Python 3.11–3.13
- Textual
- Pydantic
- uv
- Ollama
- llama.cpp
- vLLM
- MCP
Status: Shipped · started July 2026 · open on GitHub