Docs

Pi

How LinkCode runs Pi in-process across two dozen providers, supplies the approval prompts Pi itself has none of, and resumes its threads.

Pi runs in-process inside the host — no separate binary, no subprocess. The first time you pick it, LinkCode downloads Pi's runtime into its own store (with your confirmation); after that there's nothing to manage.

Sign in

LinkCode has no sign-in flow of its own for Pi. Pi resolves credentials for roughly two dozen providers itself, through its own auth file (~/.pi/agent/auth.json) or environment variables — whichever you've already set up for the provider you want, Pi picks up automatically.

You can also connect an account under Settings → Providers. LinkCode applies it as a runtime override for that thread only, taking precedence over Pi's own auth file and environment variables — it's never written to disk.

Approval policy

Pi's own runtime has no concept of asking before it acts, so LinkCode supplies the gate: it holds each tool call and asks you, according to the policy on the thread.

PolicyWhat it does
Ask permissionsAsks before edits, commands, and unrecognized tools.
Accept editsApplies edits without asking; asks for commands and other tools.
BypassRuns every tool without asking.

Ask permissions is the default, and switching applies immediately. Answering "always allow" clears that tool for the rest of the thread.

There is still no sandbox

Pi's tools run with the permissions of the account running the host — that's upstream Pi's design, which states plainly that "real isolation needs to come from the operating system or a virtualization/container boundary." LinkCode's policies control whether you're asked, not what a tool can reach once you allow it. On the Bypass policy nothing stops a tool at all. For untrusted repositories, run inside a container or VM rather than against a real checkout.

Model and reasoning effort

Pi's model list comes from its own provider registry rather than a curated table, so it reflects the providers you've set up. Reasoning effort runs Low, Medium, High, and xHigh, on models that support it — a model without reasoning-effort support rejects the switch rather than silently ignoring it. If you don't pick a model, Pi uses the first one available to it.

Commands

Start a message with / to run one of Pi's own prompt templates or skills. There's no $ shell passthrough.

Thread history

Listing, reading, and resuming Pi threads all work — a stopped thread picks up where it left off. File edits render as plain text rather than as diff cards; see the agent comparison.

On this page