PiG is a coding agent, so it sits directly in the agent tooling layer rather than adjacent to it. It runs Pi's TypeScript extensions unchanged and adds Go, Rust, and Python extension support, which widens the set of people who can build agent capabilities without touching the Node toolchain. MCP is built into the core, so PiG agents can connect to external tool servers the same way Pi does.
The Piglet format is the more interesting piece for the ecosystem. It turns an agent configuration into a distributable artifact: a YAML file that can be built into a signed binary and published to npm. That is a packaging and distribution story for agents, not just a runtime. Whether it catches on depends on whether developers want named, shareable agent configurations as a first-class unit, but the design is aimed squarely at that question.
PiG is the Pi coding agent rebuilt in Go. Pi, maintained by Earendil Works, is a minimal, extensible terminal agent written in TypeScript; PiG takes its behavior, architecture, and user experience and carries them into the Go ecosystem as a single native binary called pig. The project's philosophy page states the rule plainly: compatibility is a feature. Where PiG can follow upstream, it does. Where the Go runtime or platform requirements force a difference, that difference is documented and tested against a pinned Pi release.
That framing matters because it sets expectations. PiG is not trying to out-design Pi. It is trying to be Pi, in Go, with the same small core and the same room to extend it.
PiG runs four ways: an interactive terminal UI, one-shot print/JSON mode for scripts, an RPC protocol over stdin/stdout for process-based integrations, and a Go SDK for embedding the agent in Go applications. It supports 15+ model providers including Anthropic, OpenAI, Google, Bedrock, Mistral, Groq, Cerebras, xAI, OpenRouter, and Ollama, with authentication via API keys or OAuth. Sessions are stored as trees, so you can rewind to any earlier point, branch, and keep every branch in one file; sessions export to HTML or share as a GitHub gist.
Context is handled through AGENTS.md project instructions, a SYSTEM.md that replaces or appends to the default prompt, customizable compaction, and skills and prompts loaded on demand. You can steer a running agent with Enter or queue a follow-up with Alt+Enter.
Extensions can be written in Go, Rust, Python, or Node. Go and Rust extensions compile on first use and cache; a Piglet Binary ships them prebuilt. Piglets are the packaging layer: one YAML file that picks the model, tools, extensions, skills, and system prompt for one kind of agent. A read-only reviewer, a researcher with web search, an editor agent for Zed. A Piglet can be run from its file, registered by name, built into a signed single-file binary, and published to npm or GitHub. Pigpen collects the community's Piglets.
Stock PiG deliberately leaves product workflows out of the core. No built-in sub-agent product, no permission policy, no plan or to-do workflow, no background shell. Those are extension and Piglet territory. MCP and code mode are built in, as they are in Pi.
Michael Kinsy created PiG, and the project was originally developed at Hewlett Packard Enterprise. It is maintained independently of upstream Pi, is MIT-licensed, and does not claim endorsement from Pi's maintainers. The package index lists 5,923 Pi packages, 43 PiG packages, and 20 Piglets synced in October 2026, and the model catalog covers 1,618 models. The latest release, 0.5.1, was a packaging fix: v0.5.0 exceeded Go's 500 MB module limit, so 0.5.1 ships only the current parity ledgers and retracts the prior version.
PiG's competition is less Pi itself than the other Go-native coding agents, Crush among them, and the broader field of terminal agents that assume Node. Its bet is that a subset of developers want Pi's specific design and want it in Go, with an SDK they can build on. The parity discipline is the differentiator, and also the constraint: every upstream release is work PiG has to track.
A faithful Go implementation of the Pi terminal coding agent, shipped as one native binary.
Shareable YAML-defined agent configurations that can be built into signed single-file binaries.