Changed
- The startup consent line reads "Usage is funded by ads and training." instead of naming sessions directly.
Changelog
Every free-pi release, in plain language. Update anytime with npx free-pi-cli@latest.
/tos and /privacy-policy slash commands: open the Terms of Service and Privacy Policy in your browser.free_pi_docs tool: the agent can answer questions about free-pi itself (what it is, the free allowance, credits, and the slash commands) from a built-in guide./usage, /support, /buy-credits, /close-other-session, /update). ctrl+o shows one line of key hints. pi's own startup header, skill list, and extension list no longer print./support slash command: opens the advertiser currently shown in the banner. It grants nothing./buy-credits slash command (#241): opens the buy page with no model turn, so it works when you are out of usage and every request is rejected./usage slash command: the same report as free_pi_usage, with no model turn.free_pi_usage reports free usage as a percentage of today's allowance (#242). No free-usage dollar figure is shown anywhere (cap, spend, lifetime). Purchased credit stays in dollars.free_pi_buy_credits tool (#226): ask pi to buy credits and it opens the buy page in your browser and prints the URL (for SSH sessions).free_pi_usage now shows the purchased balance (#227).@earendil-works/pi-coding-agent was a ^0.84.2 range, and because the build marks it external it resolved on *your* machine at install time — so a fresh install was already pulling 0.84.4, a version free-pi had never run a test against. Nobody chose that; npm did. It is now pinned to 0.84.4 (tested: 178 CLI tests, typecheck, build, and a real session with the ad banner, model-lock and all five extensions loaded). Adopting a newer agent is now a deliberate release rather than something that happens to you.npm on Windows is npm.cmd, a batch file, and Node refuses to spawn one without a shell. The resulting error was read as "not updatable", so every Windows launch silently skipped the update since the feature shipped. The same bug made /update fail too.start treats its first quoted argument as a window title, so the sign-in URL opened an empty console window instead of a browser.cat | free-pi-cli), first-run consent waited forever. With stdin closed (< /dev/null) it printed the consent screen and exited 0 without consenting or launching — a success that did nothing. Both now print one line explaining that consent needs a terminal, and exit 1.free-pi-cli logout — removes the stored sign-in token; the next run signs in again. Purely local, so it works offline. Note there is no server-side revoke: the token stays valid until it expires.free-pi-cli --version and --help.& escaped, which on Windows left |, ( and ) able to run a command. It must now parse as an http/https URL, and every shell metacharacter is escaped./model lists them and lets you switch; the picker is scoped to exactly the free-pi models. Backed by a server-side model catalog, so models can be added or changed without a CLI release. Older CLIs are unaffected — they keep using the single active model.HF_TOKEN, not *_API_KEY) and (b) could not hide providers discovered from dual-use credentials (AWS Bedrock, Google Vertex) without also deleting those credentials — which the agent's shell tool legitimately needs. The lock now leaves every credential in your shell intact and instead scopes the model picker to just the free-pi model. Set FREEPI_KEEP_ENV_PROVIDERS=1 to unlock the picker and use your own providers./close-other-session — clear a stuck or orphaned session yourself, instead of waiting out the timeout, when you hit "you've already got a free-pi session running somewhere". Force-releases only your own account's session lease; the one-session-per-account limit is unchanged./whats-new — show recent release highlights on demand./update — update free-pi-cli to the latest version (a no-op on npx, which is always latest)./login, or set FREEPI_KEEP_ENV_PROVIDERS=1 to keep your shell's provider keys.