---
title: "The Coding Agent"
type: concept
tags: [coding-agent, cli, harness, modes]
updated: 2026-06-19
confidence: high
sources: [raw/github_doc-packages-coding-agent-readme-md.md, raw/github_doc-packages-coding-agent-docs-index-md.md]
---

# The Coding Agent

**@earendil-works/pi-coding-agent** is Pi's ready-to-use **interactive coding agent** — "a minimal terminal coding harness" you adapt to your workflow rather than the reverse.

## Design stance

- **Minimal core, extend with TypeScript** — don't fork pi; add [extensions](extensions-and-packages.md) and install [pi packages](extensions-and-packages.md).
- **Powerful defaults, but intentionally omits** sub-agents and plan mode out of the box — you build them or install third-party packages. This keeps the core small and unopinionated.
- **Local-first** — runs with your user account's permissions in your project ([security](security.md)).

## Four run modes

1. **Interactive** — the [TUI](tui-and-customization.md) coding session ([usage](quickstart-and-usage.md)).
2. **Print / JSON** — one-shot non-interactive run, plain or structured [JSON](../syntheses/integration-modes.md) output (scripting/CI).
3. **RPC** — long-lived process integration over a JSON-RPC-style protocol ([integration-modes](../syntheses/integration-modes.md)).
4. **SDK** — embed pi's agent in your own app (this is how OpenClaw embeds pi).

## State on disk

Settings, credentials, sessions, and installed pi packages live under **`~/.pi/agent/`** (project-local config under `.pi/`). Uninstalling pi leaves these in place.

## Getting going

Install and first session: [quickstart-and-usage](quickstart-and-usage.md). Pick models/providers in [models-and-providers](models-and-providers.md). Sessions, forking, sharing: [sessions](sessions.md). The team encourages sharing OSS coding sessions publicly to improve models/prompts/tools.
