Repository navigation
PiSharp 1.1.0
PiSharp 1.1.0
PiSharp 1.1.0 moves the porting baseline from Pi v0.99.1 to Pi v1.1.0 (commit
abe508e1b89912adde45528136c3221eb69acdd7), covering the upstream releases v0.99.2,
v1.0.0 to v1.0.4 and v1.1.0. As before, matching the upstream version names the
baseline; it is not a claim of complete behavioral parity. Each ported change is
tracked, with its test suite, in
sync-1.1.0-applicability.json;
the decisions are in decision 0002.
Breaking changes
- Azure provider id is now
azure. Pi 1.0.3 renamed the provider
azure-openai-responsestoazure. Updateauth.json,models.jsonand
settings.json(defaultProvider,enabledModels,modelThinkingLevels). The API
idazure-openai-responsesand theAZURE_OPENAI_*environment variables are
unchanged. Sessions recorded with the old provider id fall back to another model on
resume. - MCP tool and namespace names use
_instead of-.mcp__my-server__xis now
mcp__my_server__x. Colliding names get a stable hash suffix, and server names that
differ only by-/_are rejected. - Tool selection follows Pi 1.1.0. Restored tools that are not registered yet stay
pending and activate when they register. Unknown names in--tools,defaultTools
and explicit activation are ignored instead of failing, as upstream does.
--providerwithout--modelis an error. - Token estimates use 3.5 characters per token in the request estimators, which can
change output-limit calculations.
New
- Anthropic authentication:
/login(browser or copy-code) and/logoutover the
shared~/.pi/agent/auth.json; workload identity federation
(ANTHROPIC_FEDERATION_RULE_ID,ANTHROPIC_ORGANIZATION_ID,
ANTHROPIC_IDENTITY_TOKEN_FILE); credentials are re-resolved before every request,
and a stored token refresh is persisted even if the request is cancelled or the
refresh finishes late. - Azure provider: Azure OpenAI Responses and Azure Foundry Chat Completions
(azure/deepseek-v4-pro), configured withAZURE_OPENAI_API_KEY,
AZURE_OPENAI_BASE_URLorAZURE_OPENAI_RESOURCE_NAME, and
AZURE_OPENAI_DEPLOYMENT_NAME_MAP. - MCP: sessions load
~/.pi/agent/mcp.json; servers withoutdirecttools connect
in the background; anmcp_serverssystem-prompt section;.pi/mcp.jsonoverride
rules; OAuth hardening (RFC 9207 issuer checks, step-up scopes, credentials per server
name and URL, client ID metadata documents);pisharp mcp add|remove|list|login|logout
with a durablemcp-auth.json;--no-mcp. - Tool selection:
--toolsand--exclude-toolsaccept*patterns;+nameand
-namemodify the default selection;--toolskeeps MCP tools unless an entry starts
withmcp__. - User shell commands: RPC
bash/abort_bashand interactive!/!!, with ANSI
sequences split across chunks held back. - Events: optional
durationMson assistant messages, tool results and
tool_execution_end;agent_settledcarriesabortedin RPC, JSON mode and native
extensions. - Extension API:
registerToolRenderer, namespaceinstructions,
ToolLoadout.GetPromptGuidelines. - Providers: Anthropic inline tool definitions (
inline-tools-2026-09-15) and
non-strict fallback;samplingParamsByThinkingLevel; more retryable errors
(server_busy, capacity, Mistralfinish_reason: "error"); model catalog from
pi-ai 1.1.0, including Claude Haiku 5.5. - Claude Opus 5, Opus 5.5, Sonnet 5.5, Haiku 5.5 and Fable 5.1: these models
were rejected with "Unsupported native thinking metadata". They now work, with Pi's
per-turn thinking effort (output_configeffort markers replayed for each assistant
turn and the managed-effort beta headers). - Cost: prompt-length pricing tiers apply on every cost path (Anthropic, OpenAI
Responses and Completions, Google, Mistral), and the native Anthropic route now
reports catalog costs, including for fallback models. - OpenAI grammar tools: models with
supportsOpenAIGrammarToolsget grammar tools as
custom tools, and transcripts replay them with theirctc_item ids, as Pi 1.0.0 does. - Terminal: Home/End are editor-only and Ctrl+Home/Ctrl+End move to the transcript
top and bottom; OSC 7501 program status withPI_PROGRAM_STATUS=1.
Known gaps
- Codemode,
tool_search, classifiers and image generation were already missing at
v0.99.1. They are planned as 1.1.0.x releases on this baseline. Until then, MCP servers
whose tools need codemode ortool_searchdo not connect. - Pi's
quietStartup,outputPadandtuiModesettings have no PiSharp counterpart. - Upstream's durable runtime, remote execution environments, experimental client/server
modes and Nix packaging are out of scope.
Packages
All library packages and the PiSharp.Cli dotnet tool are published as 1.1.0:
dotnet tool update -g PiSharp.Cli