---
title: "@earendil-works/pi-coding-agent (npm) | Since.dev"
description: "What each @earendil-works/pi-coding-agent release removed, renamed or changed: 24 breaking changes in 4 versions on npm, each with its source."
canonical_url: https://since.dev/packages/npm/@earendil-works/pi-coding-agent
last_updated: 2026-07-24
---

# @earendil-works/pi-coding-agent breaking changes

Every breaking API change we have recorded in @earendil-works/pi-coding-agent on npm: 24 breaking changes in 4 versions. Below are its newest 4 versions, removals and renames first, each with its source.

Newest change July 24, 2026

## 0.82.0

5 breaking changes, first published July 24, 2026.

- **Removed** `ModelRuntime.reloadConfig`  

ModelRuntime.reloadConfig was removed in @earendil-works/pi-coding-agent 0.82.0 [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.82.0)
- **Behavior changed**  

Model catalogs generated from models.dev now list only reasoning effort levels verified by each provider. Code that relied on other reasoning effort levels for a model may need to change. [github.com](https://github.com/earendil-works/pi/releases/tag/v0.82.0)
- **Signature changed** `AgentSession.executeBash`  

Was executeBash(command: string, onChunk?: (chunk: string) => void, options?: {excludeFromContext?: boolean; operations?: BashOperations;}): Promise<BashResult>; now executeBash(command: string, onChunk?: (chunk: string) => void, options?... [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.82.0)
- **Signature changed** `AgentSessionEvent`  

Was type AgentSessionEvent = Exclude<AgentEvent, {type: "agent_end";}> | {type: "agent_end"; messages: AgentMessage\[\]; willRetry: boolean;} | {type: "agent_settled";} | {type: "queue_update"; steering: readonly string\[\]; followUp: readonly... [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.82.0)
- **Signature changed** `SettingsManager.getExternalEditorCommand`  

Was getExternalEditorCommand(): string | undefined; now getExternalEditorCommand(): string. [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.82.0)

## 0.81.0

12 breaking changes, first published July 21, 2026.

- **Behavior changed**  

Model catalog network refresh no longer runs during startup initialization and instead runs once the interactive or RPC mode is running. Code that depends on the startup-time refresh should account for this. [github.com](https://github.com/earendil-works/pi/releases/tag/v0.81.0)
- **Default changed**  

GPT-5.6 Codex models default to the 272K context window, so automatic long-context pricing is no longer applied by default. Users who relied on the larger default context should configure it explicitly. [github.com](https://github.com/earendil-works/pi/releases/tag/v0.81.0)
- **Signature changed** `AgentToolResult`  

Was export type {AgentEndEvent, AgentSettledEvent, AgentStartEvent, AgentToolResult, AgentToolUpdateCallback, AppKeybinding, AutocompleteProviderFactory, BashToolCallEvent, BeforeAgentStartEvent, BeforeAgentStartEventResult... [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.81.0)
- **Signature changed** `AgentToolUpdateCallback`  

Was export type {AgentEndEvent, AgentSettledEvent, AgentStartEvent, AgentToolResult, AgentToolUpdateCallback, AppKeybinding, AutocompleteProviderFactory, BashToolCallEvent, BeforeAgentStartEvent, BeforeAgentStartEventResult... [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.81.0)
- **Signature changed** `ExtensionRunner.bindCore`  

Was bindCore(actions: ExtensionActions, contextActions: ExtensionContextActions, providerActions?: {registerProvider?: (name: string, config: ProviderConfig) => void; unregisterProvider?: (name: string) => void;}): void; now... [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.81.0)
- **Signature changed** `InlineExtension`  

Was type InlineExtension = ExtensionFactory | {name: string; factory: ExtensionFactory;}; now type InlineExtension = ExtensionFactory | {name: string; factory: ExtensionFactory; hidden?: boolean;}. [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.81.0)
- **Signature changed** `ModelRuntime.setRuntimeApiKey`  

Was setRuntimeApiKey(providerId: string, apiKey: string): Promise<void>; now setRuntimeApiKey(providerId: string, apiKey: string, refreshOptions?: ModelsRefreshOptions): Promise<void>. [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.81.0)
- **Signature changed** `RpcCommand`  

Was type RpcCommand = {id?: string; type: "prompt"; message: string; images?: ImageContent\[\]; streamingBehavior?: "steer" | "followUp";} | {id?: string; type: "steer"; message: string; images?: ImageContent\[\];} | {id?: string; type... [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.81.0)
- **Signature changed** `RpcResponse`  

Was type RpcResponse = {id?: string; type: "response"; command: "prompt"; success: true;} | {id?: string; type: "response"; command: "steer"; success: true;} | {id?: string; type: "response"; command: "follow_up"; success: true;} | {id?... [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.81.0)
- **Signature changed** `SessionManager.appendCompaction`  

Was appendCompaction<T = unknown>(summary: string, firstKeptEntryId: string, tokensBefore: number, details?: T, fromHook?: boolean): string; now appendCompaction<T = unknown>(summary: string, firstKeptEntryId: string, tokensBefore: number... [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.81.0)

And 2 more in this version.

## 0.80.1

4 breaking changes, first published June 23, 2026.

- **Removed** `AuthStorage.setFallbackResolver`  

AuthStorage.setFallbackResolver was removed in @earendil-works/pi-coding-agent 0.80.1 [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.80.1)
- **Signature changed** `AuthStorage.getApiKey`  

Was getApiKey(providerId: string, options?: {includeFallback?: boolean;}): Promise<string | undefined>; now getApiKey(providerId: string, options?: GetApiKeyOptions): Promise<string | undefined>. [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.80.1)
- **Signature changed** `AuthStorage.getOAuthProviders`  

Was getOAuthProviders(): import("@earendil-works/pi-ai").OAuthProviderInterface\[\]; now getOAuthProviders(): import("@earendil-works/pi-ai/compat").OAuthProviderInterface\[\]. [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.80.1)
- **Signature changed** `SettingsManager.inMemory`  

Was static inMemory(settings?: Partial<Settings>): SettingsManager; now static inMemory(settings?: Partial<Settings>, options?: SettingsManagerCreateOptions): SettingsManager. [npmjs.com](https://www.npmjs.com/package/@earendil-works/pi-coding-agent/v/0.80.1)

## 0.80.0

3 breaking changes, first published June 23, 2026.

- **Removed** `@earendil-works.pi-agent-core.base`  

The @earendil-works/pi-agent-core/base entrypoint was removed. Use the root package with explicit Models provider factories instead. [github.com](https://github.com/earendil-works/pi/releases/tag/v0.80.0)
- **Removed** `@earendil-works.pi-ai.base`  

The @earendil-works/pi-ai/base entrypoint was removed. Use the root package with explicit Models provider factories instead. [github.com](https://github.com/earendil-works/pi/releases/tag/v0.80.0)
- **Removed** `stream`  

The old global API (stream, complete, completeSimple, getModel, getModels, getProviders, registerApiProvider, getEnvApiKey) is no longer exported from the root entrypoint. Import these from @earendil-works/pi-ai/compat, or migrate to... [github.com](https://github.com/earendil-works/pi/releases/tag/v0.80.0)

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#api) reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

## Put your code on continuous management.

Scan a public repository now, or give your agent one line.

### See how out of date your code is.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
