@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

On this page
0.82.0
- Removed
ModelRuntime.reloadConfig
ModelRuntime.reloadConfig was removed in @earendil-works/pi-coding-agent 0.82.0 npmjs.com - 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 - 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 - 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 - Signature changed
SettingsManager.getExternalEditorCommand
Was getExternalEditorCommand(): string | undefined; now getExternalEditorCommand(): string. npmjs.com
0.81.0
- 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 - 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 - Signature changed
AgentToolResult
Was export type {AgentEndEvent, AgentSettledEvent, AgentStartEvent, AgentToolResult, AgentToolUpdateCallback, AppKeybinding, AutocompleteProviderFactory, BashToolCallEvent, BeforeAgentStartEvent, BeforeAgentStartEventResult... npmjs.com - Signature changed
AgentToolUpdateCallback
Was export type {AgentEndEvent, AgentSettledEvent, AgentStartEvent, AgentToolResult, AgentToolUpdateCallback, AppKeybinding, AutocompleteProviderFactory, BashToolCallEvent, BeforeAgentStartEvent, BeforeAgentStartEventResult... npmjs.com - 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 - Signature changed
InlineExtension
Was type InlineExtension = ExtensionFactory | {name: string; factory: ExtensionFactory;}; now type InlineExtension = ExtensionFactory | {name: string; factory: ExtensionFactory; hidden?: boolean;}. npmjs.com - Signature changed
ModelRuntime.setRuntimeApiKey
Was setRuntimeApiKey(providerId: string, apiKey: string): Promise<void>; now setRuntimeApiKey(providerId: string, apiKey: string, refreshOptions?: ModelsRefreshOptions): Promise<void>. npmjs.com - 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 - 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 - 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
And 2 more in this version.
0.80.1
- Removed
AuthStorage.setFallbackResolver
AuthStorage.setFallbackResolver was removed in @earendil-works/pi-coding-agent 0.80.1 npmjs.com - 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 - Signature changed
AuthStorage.getOAuthProviders
Was getOAuthProviders(): import("@earendil-works/pi-ai").OAuthProviderInterface[]; now getOAuthProviders(): import("@earendil-works/pi-ai/compat").OAuthProviderInterface[]. npmjs.com - Signature changed
SettingsManager.inMemory
Was static inMemory(settings?: Partial<Settings>): SettingsManager; now static inMemory(settings?: Partial<Settings>, options?: SettingsManagerCreateOptions): SettingsManager. npmjs.com
0.80.0
- 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 - 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 - 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
Check your code
These are the changes. To see which of them reach your code, scan a public repository, or have your coding agent call check_code with your manifest or lockfile over MCP. The 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.
Tell your agent what changed since it was trained.
claude mcp add --transport http since https://api.since.dev/mcp