Skip to content

Introduction

tallow is an opinionated coding agent built on pi. It bundles 53 extensions, 9 agent templates, 34 themes, and a skill system into a single install. No manual extension management — everything ships together, ready to use.

pi is the terminal-native coding agent framework. It runs in your terminal, connects to any LLM provider, and gives you full control over how the agent behaves through extensions, themes, hooks, skills, and commands.

Every feature is an extension. They’re organized by category:

CategoryExtensionsExamples
Tools (19)Core coding tools and agent capabilitiesbash, edit, read, write, cd, web_fetch, web_search, subagent, teams, tasks, MCP adapter, session-memory, wezterm-pane-control
UI & Display (6)Terminal rendering and statuscustom footer, git status, tool display, minimal skill display, session-namer, random-spinner
Commands (7)Prompt/command systemcommand-prompt, command-expansion, context-fork, health, shell-interpolation, skill-commands
Utilities (6)Helper featurescheatsheet, context-usage, debug, init, show-system-prompt, read-tool-enhanced
Integrations (3)External system hookslifecycle hooks, claude-bridge, worktree
Language Support (1)IDE-like featuresLSP (TypeScript, Python, Rust, Swift, PHP)
Context (1)Instruction loadingcontext-files (CLAUDE.md + AGENTS.md)
Dev (1)Development toolsupstream-check
Aliases (1)Convenience shortcuts/clear → /new
Core (1)Internal infrastructure_icons (icon registry)

Each extension has an extension.json manifest with a category property that drives the documentation sidebar and the installer’s grouping. See Creating Extensions for the full manifest spec.

Bundled agent templates are copied into ~/.tallow/agents/ by tallow install. They are user-owned files: edit them, override them per-project, or delete the ones you do not want. Each template becomes a /agent:<name> slash command.

TemplateSlash commandPurpose
architect/agent:architectHigh-level architecture — plans before coding
debug/agent:debugMethodical root cause analysis
explore/agent:exploreCheap, read-only codebase discovery
planner/agent:plannerRead-only planning from context and requirements
refactor/agent:refactorImprove code structure without changing behavior
reviewer/agent:reviewerCode review for quality and security
scout/agent:scoutFast codebase recon for handoff to other agents
tallow-expert/agent:tallow-expertTallow codebase internals, extensions, and configuration
worker/agent:workerGeneral-purpose agent with full capabilities

Some templates restrict their tool access (e.g. explore, planner, and reviewer) to enforce their role.

From Tokyo Night to Synthwave 84, every color in the TUI — borders, backgrounds, accents, tool status indicators — is token-driven and overridable. Create your own as a single JSON file.

Skills are markdown-based instruction sets that the model loads on demand when a task matches the skill’s description. tallow supports skills from the tallow-plugins package system and from your own ~/.tallow/skills/ or .tallow/skills/ directories.

Skills have frontmatter metadata including name, description, optional allowed-tools, and optional metadata (with fields like author, version, argument-hint).

  • Batteries included — 53 extensions loaded automatically. No separate install step.
  • Extensible from the ground up — features are extensions, not hard-coded. Don’t like how bash output renders? Replace the extension. Want a custom status bar? Write one.
  • Multi-model — run Claude, GPT-4, Gemini, or any OpenAI-compatible model from the same interface.
  • Multi-agent — spawn parallel agents with different models, roles, and tasks. Coordinate via shared task boards.
  • Themeable — 34 built-in themes, every color token overridable. Your terminal, your palette.
  • Packages — a plugin system for distributing commands, agents, skills, and hooks. Local paths only — remote repositories are not yet supported.
  • Claude Code compatibility — tallow reads .claude/ resources directly. See Using tallow in existing Claude Code projects for the exact compatibility matrix and caveats.
  • Commands and prompts are interchangeable — the commands/ and prompts/ directories are treated as synonyms. Files from either directory are merged into a single set, deduplicated by name. Put a markdown file in commands/ or prompts/ and it becomes a /slash command.