Shim
A tiny, local-first AI harness delivered as a single static binary with a natural-language CLI, any-model support, MCP and Agent Skills.
At a Glance
MIT-licensed local-first AI harness distributed as a static binary; free to use, modify and distribute. Model API costs from third-party providers are external.
Engagement
Available On
Listed Nov 2026
About Shim
Shim is an open-source, MIT-licensed terminal AI harness written in Go and published by Balanov on GitHub. It ships as one static binary for Windows, macOS, and Linux with no runtime dependencies, and connects user-chosen models, MCP servers, and Agent Skills through either a scriptable CLI or plain-language commands. The latest release listed is v0.1.0.
What It Is
Shim is an adapter layer between a user and the model APIs, MCP servers, and skills they want to use with a coding agent. It is a harness, not an inference engine: local weights run through Ollama, LM Studio, llama.cpp, or another compatible server, and Shim talks to them over HTTP. It has no TUI, desktop app, background daemon, or telemetry, and the README says it needs no Node, Python, Docker, or database.
How the workflow works
Users run shim setup, then either type commands or ask in ordinary language. Deterministic offline phrases cover common English and Russian management requests. For other languages, a local mini-model can be assigned as a command router that translates requests into an allowlisted command, and mutating commands require confirmation. The CLI can also discover local model servers, add hosted models, run one-shot agent tasks (shim run), resume sessions, and diagnose configuration with shim doctor.
Models, MCP, and skills
Presets cover Ollama, LM Studio, llama.cpp, OpenAI, OpenRouter, Anthropic, Gemini, GitHub Models, Hugging Face, and custom OpenAI-compatible or Anthropic endpoints. MCP servers work over stdio and Streamable HTTP, with tools namespaced as mcp_<server>_<tool>. Agent Skills (SKILL.md) are discovered from several directories and loaded lazily, so only names and descriptions enter the system prompt.
Permissions and state
The default ask mode allows reading workspace files but requires confirmation for writes, shell commands, and MCP calls; read-only and auto modes are also available. File tools reject path traversal and symlink escapes, but the README states Shim is not an OS sandbox. Config is plain JSON, sessions are append-only JSONL, and API keys come from environment variables rather than being written to config.
Community Discussions
Be the first to start a conversation about Shim
Share your experience with Shim, ask questions, or help others learn from your insights.
Pricing
Open Source
MIT-licensed local-first AI harness distributed as a static binary; free to use, modify and distribute. Model API costs from third-party providers are external.
- MIT license
- One static binary, zero dependencies
- No telemetry
- Bring any model API (OpenAI-compatible and Anthropic adapters)
- MCP servers and Agent Skills support
Capabilities
Key Features
- Single static binary with no runtime dependencies
- Natural-language command routing with allowlisted commands and confirmation for mutating actions
- Optional local mini-model router
- Full scriptable CLI
- OpenAI-compatible and Anthropic adapters with provider presets
- Local model discovery
- MCP support over stdio and Streamable HTTP
- Lazy-loaded Agent Skills from SKILL.md
- Permission modes: read-only, ask, auto
- Plain JSON config and JSONL resumable sessions
- API keys read from environment variables
- No telemetry
