@agentapprove/pi

Agent Approve extension for Pi - approve or deny AI agent tool calls from your iPhone and Apple Watch

Package details

extension

Install @agentapprove/pi from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@agentapprove/pi
Package
@agentapprove/pi
Version
0.1.5
Published
May 3, 2026
Downloads
43/mo · 43/wk
Author
jbeno
License
SEE LICENSE IN LICENSE
Types
extension
Size
69.3 KB
Dependencies
0 dependencies · 0 peers
Pi manifest JSON
{
  "extensions": [
    "./dist/index.js"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@agentapprove/pi

Agent Approve extension for Pi. Approve or deny Pi tool calls from your iPhone or Apple Watch.

Install

Run the Agent Approve installer and select Pi:

npx agentapprove

If Agent Approve is already paired on this machine, you can install the Pi package directly:

pi install npm:@agentapprove/pi@0.1.5

What It Covers

  • tool_call blocking approval
  • native tool completion events
  • MCP tool approvals and completion events grouped by MCP server
  • prompt, response, thinking, compaction, stop, and session-end events
  • optional follow-up input from Agent Approve when Pi finishes a turn

Runtime Mapping

Pi event Agent Approve event
session_start session_start
before_agent_start user_prompt
tool_call blocking approval request
tool_result command_executed, tool_complete, or mcp_complete
tool_execution_end completion fallback if tool_result was not observed
message_end thought, response, or plan_generated
session_compact context_compact
agent_end stop, with optional follow-up input
session_shutdown session_end

Approval requests include:

{
  agent: "pi",
  hookType: "tool_call",
  toolName: string,
  toolType: string,
  toolInput?: object,
  command?: string,
  conversationId: string,
  generationId?: string,
  toolCallId?: string,
  model?: string,
  mcpServer?: RuntimeMcpServer,
  metadata: {
    sessionId: string,
    piEventName: "tool_call",
    cwd?: string,
    workspaceRoots?: string[],
    turnId?: string,
    messageId?: string,
    provider?: string,
    model?: string,
    toolCallId?: string
  },
  timestamp: number
}

Events use the same Agent Approve event envelope with agent: "pi", eventType, conversationId, optional generationId, optional tool metadata, optional mcpServer, optional sessionStats, metadata, and timestamp.

Configuration

The extension reads the standard Agent Approve config from ~/.agentapprove/env.

Variable Default Description
AGENTAPPROVE_API https://api.agentapprove.com Agent Approve API URL
AGENTAPPROVE_API_VERSION v001 API version
AGENTAPPROVE_TOKEN keychain or config token CLI API token
AGENTAPPROVE_PRIVACY full minimal, summary, or full
AGENTAPPROVE_FAIL_BEHAVIOR ask allow, deny, or ask if Agent Approve is unreachable
AGENTAPPROVE_AGENT_NAME Pi Display name for this Pi agent
AGENTAPPROVE_PI_NAME Pi Legacy Pi-specific display name fallback

Security

Requests are signed with Agent Approve HMAC headers and include the SHA256 hash of the installed package bundle. The API allowlists published bundle hashes by hook version.