Agents

Pi

Agent Agents @dip497 28 installs

The pi coding agent, with status and session resume through its Hivemind extension.

hive agents install pi

Run it in a terminal, or find it in Hivemind under Settings ▸ Plugins.

Pi

Runs pi, the Pi command-line agent, in a Hivemind terminal tile.

Pi has no permission system: it always runs autonomously and cannot be supervised.

Before you add it

Hivemind installs no code for it: it runs the pi command you install yourself. Get it from its install page, or run npm install -g --ignore-scripts @earendil-works/pi-coding-agent.

What it can do in Hivemind

  • Says when a turn ends, so another agent can hand it work and read its reply (hive ctl read, workflows).
  • Picks up the newest session for its folder after a restart.
  • Has no permission prompts of its own.

What it asks for

Hivemind shows this before it adds the agent.

  • Runs pi --list-models to list model values
  • Reads {home}/.pi/agent/sessions to find a session to resume
  • Reports its status and approval prompts to Hivemind through its own hooks, which can also read and type into your other tiles

Launch options

Set them on its page in Settings ▸ Plugins, or with hive plugins set agent:pi <option> <value>.

Option How it is passed
Model --model <value>

Listed from agent.yaml in this folder; fix it by pull request.

On the canvas

  • Resumes a session: yes
  • Reports when a turn ends: yes
  • Can be supervised by another agent: yes

pi has no permission system: it always runs autonomously and cannot be supervised.

This adds Pi to Hivemind. Install pi itself too, if you don't have it.

Files

From dip497/hivemind-plugins at 60eafbb. Hivemind checks each file's checksum as it downloads, and stops if one changed.

  • agent.yaml83f3577848b9
  • hive-pi-ext.mjs01d5891369f6
  • README.md1b8d9df928e8
agent.yaml
# Pi — built-in provider manifest.
# Authoring format for the def half. See packages/hive-agents/src/manifest.ts.
manifestVersion: 2
# Its extension signs in before it says anything and drives hive through `hive ctl`, as this
# app expects.
minAppVersion: '2026.10.2'
id: pi
label: Pi
bin: pi
enabled: true
caps:
  promptDelivery: argv
  turnSignal: true
  resume: cwd
  supervise: none
  blockedDetection: false
icon:
  viewBox: 0 0 800 800
  attrs:
    fill: currentColor
    fillRule: evenodd
  shapes:
  - path:
      d: M165.29 165.29 H517.36 V400 H400 V517.36 H282.65 V634.72 H165.29 Z M282.65 282.65 V400 H400 V282.65
        Z
  - path:
      d: M517.36 400 H634.72 V634.72 H517.36 Z
# A message typed while it works steers that turn: pi 1.3.0 shows "Steering: <message>"
# (Alt+Enter would queue it for after the turn instead).
steer: true
# Its prompt with nothing typed, read from pi 1.3.0: the cursor at the start of the line under the
# rule that opens its editor, with no marker; the person's words start right there.
emptyPrompt:
  when:
    seq:
    - run: ─
    - run: space
      min: 0
    - end: true
    at: start
  scope:
    kind: tail
    n: 1
options:
- id: model
  label: Model
  flag: --model
  list:
    args:
    - --list-models
    skip: 1
    format: "{1}/{2}"
spawn:
  titles:
  - "π - {task} - {any}"
  - "π - {any}"
install:
  url: https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md
  command: "npm install -g --ignore-scripts @earendil-works/pi-coding-agent"
detect:
  rules:
  - when:
      containsCS: Working...
    then: working
  default: idle
note: 'pi has no permission system: it always runs autonomously and cannot be supervised.'
session:
  resume:
    args:
    - --session
    - '{id}'
    find:
      strategy: jsonl-header
      root: '{home}/.pi/agent/sessions'
      cwdPath: cwd
      idPath: id
      require:
        type: session
assets:
- name: hive-pi-ext.mjs
  file: hive-pi-ext.mjs
launch:
  hcp: true
  args:
  - -e
  - '{asset:hive-pi-ext.mjs}'
commands:
  builtIn:
    - name: "settings"
      description: "Open settings"
    - name: "model"
      description: "Select a model"
    - name: "thinking"
      description: "Set the thinking level"
    - name: "scoped-models"
      description: "Configure the models used by interactive cycling"
    - name: "login"
      description: "Add provider authentication"
    - name: "logout"
      description: "Remove provider authentication"
    - name: "llama"
      description: "Manage models on the configured llama.cpp router"
    - name: "new"
      description: "Start a new session"
    - name: "resume"
      description: "Switch to another saved session"
    - name: "name"
      description: "Set the session display name, or show the current name when omitted"
    - name: "session"
      description: "Show current session information and statistics"
    - name: "tree"
      description: "Navigate the session tree"
    - name: "fork"
      description: "Create a new session from an earlier user message"
    - name: "clone"
      description: "Duplicate the current session at its current position"
    - name: "compact"
      description: "Compact the current context, optionally with custom instructions"
    - name: "import"
      description: "Import and resume a JSONL session"
    - name: "copy"
      description: "Copy the last assistant message"
    - name: "export"
      description: "Export the session as HTML or JSONL"
    - name: "share"
      description: "Upload the session and return a viewer link"
    - name: "bug"
      description: "Prepare a private bug report for the Pi developers"
    - name: "trust"
      description: "Save a project trust decision for future Pi processes"
    - name: "reload"
      description: "Reload keybindings, extensions, skills, templates, themes, and context files"
    - name: "hotkeys"
      description: "Show active keyboard shortcuts"
    - name: "changelog"
      description: "Show changelog entries"
    - name: "quit"
      description: "Quit Pi"
  folders:
    - path: "{home}/.pi/agent/prompts"
    - path: "{home}/.pi/agent/skills"
      skills: true
      prefix: "skill:"
    - path: "{home}/.agents/skills"
      skills: true
      prefix: "skill:"
    - path: "{folder}/.pi/prompts"
    - path: "{folder}/.pi/skills"
      skills: true
      prefix: "skill:"
    - path: "{folder}/.agents/skills"
      skills: true
      prefix: "skill:"

Hivemind shows you this list and asks before it installs.

  • runs pi --list-models to list model values
  • reads {home}/.pi/agent/sessions to find a session to resume
  • reports its status and approval prompts to Hivemind through its own hooks, which can also read and type into your other tiles
VersionCommitListed
1.0.0 60eafbb October 28, 2026

Needs Hivemind 2026.10.2 or newer.

HiveHub keeps the version listed last. The ones before it are in the repository's history.

Something wrong with it? Report it.