Skip to main content
pcode in a dark terminal pcode in a light terminal

pcode

pcode is a terminal-native coding agent that lets you change what's visible in your scrollback, even after the work is done. Expand commands, output, and diffs when you need the details; hide them when you want to read the conversation. The same history, with the detail you choose.

Long-running commands continue in the background and wake the agent when they finish. Run sessions in separate git worktrees, or rewind and branch a conversation to try another approach.

  • Slow work doesn't block you. Long commands become background jobs, and a finished job wakes the agent, so it can watch tests or CI and fix what fails.
  • Agents in parallel. A git worktree per session lets several agents work on one repo at once.
  • Rewind and fork. /tree returns to any point in a conversation and branches from there. Every session is kept, so you can resume or search it.
  • Change your view, not your history. Show or hide commands, output, and diffs throughout the conversation. Hidden output stays available, and /tools lets you inspect every tool call and its full output.

It runs on any model Pydantic AI supports, or on your Claude or ChatGPT subscription.

Documentation: cruxwell.github.io/pcode

Install

With Homebrew:

brew tap cruxwell/pcode https://github.com/cruxwell/pcode.git
brew install cruxwell/pcode/pcode

Or from PyPI with uv:

uv tool install 'pcode[claude]'

brew install --HEAD tracks master instead of the latest release.

Quick start

pcode -m claude:claude-sonnet-5              # Claude subscription; run /login claude if not signed in
pcode -m openai-codex:gpt-5.6-luna           # ChatGPT subscription (/login openai-codex)
pcode -m anthropic:claude-sonnet-5           # or any provider, with its API key set
pcode                                        # reuses the model /model (Ctrl+L) saved; with none, an offline preview
pcode -C /path/to/repo "Summarize the open TODOs"
git diff | pcode -p --no-save                # non-interactive: reply to stdout
pcode --continue                             # resume this directory's newest session
pcode --theme-preview                        # offline sample output and the style gallery

The agent edits files and runs shell commands with your permissions and no approval prompt. Read tool permissions before pointing it at anything you care about.

More

  • Your subscription: Claude runs through Anthropic's own Agent SDK and Claude Code login (the route Anthropic supports), and ChatGPT through a Codex login. See providers.
  • Email remote control: send a task from Gmail on your phone, reply to keep going, and take the session over at a terminal with pcode --attach.
  • Custom keybindings and Vim editing: map keys to commands with arguments, add a Space leader in normal mode, or use jj to leave insert mode.
  • /btw side questions, background sessions, recall of past sessions, a browser the agent can drive, and Python extensions.
  • Built on Pydantic AI's Harness coder, with MCP (OAuth and tool search), searchable sessions, jobs and worktrees on top. Extensions are plain Pydantic AI capabilities. The conversation tree follows pi's.

See PLAN.md for the longer-term direction.

Documentation

Page What it covers
Getting started Homebrew, uv and source installs, signing in, --print, shell completion
Scrollback and transparency Guide: what goes into scrollback, /tools, /diffs
A shell for long-running work Guide: background jobs, watching CI
Parallel agents Guide: worktrees, parallel sub-agents, /agents
Extending pcode Guide: extensions, skills, settings
Providers and models Authentication, supported providers, the model picker, reasoning effort, Claude Code, proxies
Configuration pcode config, per-repository overrides, trusting repository code, the settings table, syntax styles
Commands and keys Slash commands, key bindings, vi mode, tmux newlines, status line, !command, the diff and tool inspectors
Keybindings Custom command mappings with /bind, Ctrl shortcuts, vi editing, a normal-mode leader, and custom escape sequences such as jj
Terminal setup Tab titles, the progress bar, iTerm2 and tmux settings
Tools Tool permissions, web search, the browser, code mode
MCP servers Opt-in MCP configuration, OAuth sign-in, deferred tool search
Working in a repository AGENTS.md/CLAUDE.md, skills as slash commands, one worktree per session
Sessions and recovery Saving, resuming, recalling earlier sessions, checkpoints, retries
Context, limits and caching Prompt overhead, compaction, output limits, prompt cache notices
The transcript What lands in scrollback: diffs, thinking, errors, command output, /redraw
Email remote control Driving a session from Gmail, the remote profile
Conversation tree /tree: rewinding and forking a conversation
Side questions /btw: asking about the running turn without interrupting it

The same pages build into a browsable site with make docs-serve; make docs checks every page and anchor link.

Contributing

Bugs: open an issue. Security problems: see SECURITY.md. Setup and checks are in CONTRIBUTING.md.

make test        # fast suite; real-tmux regressions skipped
make test-all    # everything, before touching layout, streaming, the editor, or the prompt

AGENTS.md has the worktree workflow and the traps worth knowing before editing. Contributor notes (architecture, dependencies, profiling, prompt caching, provider design) live in dev/, outside the published docs.

Metadata

Release files for pcode 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pcode 0.1.2
File Size Uploaded
pcode-0.1.2.tar.gz 603.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pcode 0.1.2
File Interpreter ABI Platform
pcode-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / pcode-0.1.2.tar.gz

Download URL pcode-0.1.2.tar.gz
Size 603.2 kB
Tags Source
SHA-256 checksum
How to use checksums
9d75c485e4118a96e206cf6149edb659107571e45321025613c38a50646ae9fe
BLAKE2b-256 checksum
How to use checksums
ba3ec0d467a2d4fc002f321e00a3f7bcd255c3b93a1d04e3cdd8b8922e860740
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / pcode-0.1.2-py3-none-any.whl

Download URL pcode-0.1.2-py3-none-any.whl
Size 687.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd9948c3c1085a8808d7d15c996af0220ee0bbb4f3722d4669f9f286f7409deb
BLAKE2b-256 checksum
How to use checksums
78d443dc7a3324d0f50805c0c2adcf547aebb1f174fc680e86676f17be86544f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page