Packages

@earendil-works/pi-client

1.1.0 · 7 Oct 2026MIT296.6k / weekRepositoryHomepagenpmAtom feed

20 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.

  1. 1.x · latest line
  2. 1.1.0

    7 Oct 2026
    • Program status reporting: terminals and agent dashboards that support OSC 7501 see whether Pi is working, blocked on a dialog or login, done, or failed. See Program status.

    • Claude Haiku 5.5: anthropic/claude-haiku-5-5, with adaptive thinking up to xhigh/max effort.

    • Adjust default tools with +name/-name: --tools entries like pi -t +codemode,-write change the default selection instead of replacing it. See Tools.

  3. 1.0.4

    5 Oct 2026
    • Tool patterns and --no-mcp: --tools and --exclude-tools accept * patterns, for example --tools read,codemode,'mcp__radius__*' keeps only one MCP server's tools. --tools now keeps MCP tools unless an entry starts with mcp__, and --no-mcp turns off MCP for one run. See Tools and MCP tools.

    • Codemode persists images: tools.read() on an image file now gives back an image block that image() can show. See Call tools.

    • Added * patterns to --tools and --exclude-tools, for example --tools read,codemode,'mcp__radius__*'

  4. 1.0.3

    5 Oct 2026
    • breaking

      Renamed the Azure provider from azure-openai-responses to azure. Rename the provider key in auth.json (or run /login again), in models.json, and in settings.json (defaultProvider, enabledModels patterns, and modelThinkingLevels keys). Sessions that used the old provider fall back to another model when resumed, and their prompt cache is not reused. The AZURE_OPENAI_* environment variables are unchanged

    • Azure Foundry Chat Completions — The azure provider (renamed from azure-openai-responses) now also serves Foundry Chat Completions deployments, starting with azure/deepseek-v4-pro. See Azure OpenAI.

    • Codemode images saved to files — image() also writes each image to a temp file and names the path in the result, so later turns can copy or move generated images. See Generate images.

  5. 1.0.2

    4 Oct 2026
    • Sampling by thinking level — samplingParamsByThinkingLevel in models.json sets sampling parameters such as temperature and top_p for each thinking level on OpenAI-compatible APIs. See Configure sampling by thinking level.

    • Added samplingParamsByThinkingLevel to models.json for per-thinking-level sampling parameter overrides on OpenAI-compatible APIs. See Configure sampling by thinking level

  6. 1.0.1

    3 Oct 2026
    • security

      Fixed installations resolving vulnerable brace-expansion 5.0.9 by pinning brace-expansion 5.0.12 as a direct dependency (GHSA-q2hr-2g5m-vwhr, GHSA-qhr7-859c-m2p7, GHSA-6j4f-fj2g-mc7p)

    • breaking

      Removed npm-shrinkwrap.json from the published package. npm installations no longer pin transitive dependencies, and library consumers can now override them. Use the pi.dev installer for pinned installations

    • Nix flake — nix run github:earendil-works/pi/stable runs the latest release, and nix profile add github:earendil-works/pi/stable installs it. See Install pi.

  7. 1.0.0

    1 Oct 2026
    • Fullscreen by default — The TUI now runs fullscreen. Set tuiMode to "regular" to keep the terminal's normal scrollback. See Terminal and display.

    • Leaner codemode — About 40% fewer prompt tokens, and errors that tell the model how to recover. See Codemode.

    • Image generation in codemode — Scripts call models.generateImages() with the session's credentials. See Generate images and Use image models.

  8. 0.99.x
  9. 0.99.2

    30 Sep 2026
    • MCP servers stay out of the way: servers with the default codemode exposure are no longer listed in the codemode description and no longer block the first prompt. They appear in a short system prompt section, and scripts find their tools with searchTools() and describeNamespace(). See Control tool exposure.

    • More MCP authentication options: oauth.clientName for servers that only accept known OAuth clients, and "auth": { "provider": "<provider>" } to authenticate HTTP servers with a provider's /login token. See Authenticate with OAuth.

    • Anthropic workload identity federation from the Anthropic SDK environment variables. See Use an API key from the environment.

  10. 0.99.1

    29 Sep 2026
    • GPT-6.1 Sol — Available on OpenAI, Azure OpenAI, and OpenAI Codex, and now the default OpenAI Codex model. See Select a model.

    • Added GPT-6.1 Sol (gpt-6.1-sol) to the OpenAI, Azure OpenAI Responses, and OpenAI Codex providers.

    • Changed the default OpenAI Codex model to GPT-6.1 Sol (gpt-6.1-sol).

  11. 0.99.0

    29 Sep 2026
  12. 0.87.x
  13. 0.87.1

    22 Sep 2026
    • Latest frontier models — Use Claude Opus 5.5, GPT-6 Sol, and GPT-6 Luna through supported providers, including GitHub Copilot. See Choose a Model.

    • Grok 4.7 by default for xAI — New xAI sessions now default to Grok 4.7. See Provider Authentication.

    • Added inherited Claude Opus 5.5, GPT-6 Sol, and GPT-6 Luna support for GitHub Copilot.

  14. 0.87.0

    21 Sep 2026
    • breaking

      Removed the inherited shouldStopAfterTurn agent option. Use finishTurn and return { action: "end" } instead. finishTurn runs before turn_end but applies the decision afterward, and it also receives error and aborted responses; migrate normal-response predicates by returning undefined for those hard exits. See the @earendil-works/pi-agent-core changelog for a complete before-and-after example.

    • breaking

      Added ContextEditEntry to the exported SessionEntry union. TypeScript consumers with exhaustive entry switches must handle context_edit; use replacement: null for omission and a content replacement otherwise.

    • breaking

      Made SessionManager canonical for AgentSession provider context. Assigning session.agent.state.messages no longer replaces future request history; restore with SessionManager.inMemory(cwd, { id }, entries), navigate with session.navigateTree(), or append through session.sessionManager and call session.refreshContext().

  15. 0.86.x
  16. 0.86.1

    20 Sep 2026
    • Meta Muse provider — Sign in with Meta using /login meta or use META_API_KEY to access Muse Spark models. See Meta (Muse subscription).

    • Added Meta (Muse subscription) login via /login meta with automatic Model API key refresh, plus META_API_KEY support

    • Enabled Node's persistent compile cache before loading the bundled CLI runtime, reducing repeat launch time.

  17. 0.86.0

    19 Sep 2026
    • breaking

      Changed inherited pi-ai provider stream inputs from Context to normalized TranscriptContext values. Custom providers must read system prompts and tool declarations from context.messages with getCurrentSystemPrompt() and getCurrentTools(). See Custom Streaming API.

    • breaking

      Restricted inherited ToolCall.arguments and ToolResultMessage.details to JSON-compatible values, changed ToolResultMessage into a conditional type, and made JsonValue arrays readonly.

    • breaking

      user_bash now fails closed: errors or invalid defined results abort the command without invoking later handlers or executing locally. Return undefined to continue propagation; otherwise return { operations } or { result } (#9068).

  18. 0.85.x
  19. 0.85.1

    5 Sep 2026
    • GPT-6 Astra — Available through OpenAI API keys and OpenAI Codex subscriptions. See API Keys and OpenAI Codex.

    • Added GPT-6 Astra for OpenAI API keys and OpenAI Codex subscriptions.

    • Added five-times-faster mouse wheel scrolling while holding Alt in fullscreen mode

  20. 0.85.0

    4 Sep 2026
    • Persistent Claude thinking effort — Supported Anthropic transports preserve per-turn effort and recover safely from signed-thinking mismatches. See Model Configuration.

    • Fullscreen transcript controls — Jump to the latest message from a scrolled transcript and use the embedded working indicator. See TUI Fullscreen Viewport.

    • Restorable in-memory sessions — Resume externally stored session entries through the SDK. See Session Management.

  21. 0.84.x
  22. 0.84.4

    28 Aug 2026
    • Terminal capability overrides — Override detected terminal hyperlink, image, and truecolor support. See Capability Overrides.

    • Extension UI prompt events — Integrations can distinguish active agent work from time spent waiting for ctx.ui prompts. See Extension UI prompt events.

    • RPC queue clearing — Retrieve and clear queued steering and follow-up messages with clear_queue. See RPC clear_queue.

  23. 0.84.3

    24 Aug 2026
    • breaking

      Renamed the inherited GoogleThinkingLevel type to GoogleApiThinkingLevel and added ResolvedGoogleThinkingLevel for normalized adapter levels.

    • PowerShell tool — Use optional native PowerShell command execution on Windows. See PowerShell Tool.

    • Safer managed updates — Stage, verify, and atomically activate updates for installer-managed installations. See Install and Manage.

  24. 0.84.2

    14 Aug 2026
    • security

      Updated the transitive nanoid development dependency to address a denial-of-service vulnerability.

    • Fullscreen transcript search — Search and navigate matches in fullscreen mode. See TUI Fullscreen Viewport.

    • Configurable default tools — Choose startup built-in tools globally or per project. See Tools.

  25. 0.84.1

    7 Aug 2026
    • Qwen Token Plan Individual — Use the built-in provider for models documented for Individual subscriptions. See API Keys.

    • Authentication readiness checks — Use pi auth check to verify provider or model credentials, optionally emitting the resolved credential.

    • Improved fullscreen interaction — Select words and paragraphs with multiple clicks and configure half-page transcript scrolling. See TUI Fullscreen Viewport.

  26. 0.84.0

    6 Aug 2026
    • breaking

      Renamed the inherited pi-ai ModelsStreamTransforms interface to ModelsRequestTransforms because its header transformation now applies to all authenticated provider requests.

    • breaking

      Changed JSON and RPC message_update events to emit only assistantMessageEvent deltas, removing the cumulative message and assistantMessageEvent.partial fields that caused quadratic output growth. Clients that need partial messages must assemble deltas between message_start and message_end; the latter remains authoritative (#7290).

    • breaking

      ModelRegistry.getApiKeyAndHeaders() now returns ProviderHeaders with string | null values and preserves null header-deletion markers. Extensions that inspect returned headers must handle null; extensions forwarding them to pi-ai streams should pass them through unchanged. This prevents placeholder OpenAI credentials from being sent through Cloudflare AI Gateway (#7030).