Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Unreleased
-
[2026-08-04] Desktop app: new
packages/desktop— an Electron shell that runs the existing server as a utilityProcess on the shared data root and its window onhttp://localhostwith token-based no-login sign-in, graceful shutdown, and crash restart; desktop mode on the server (one-shot login, shutdown endpoint, unprinted random seed,desktopMode/sessionViaon /api/me), a new per-rootserver.locksingle-instance guard the CLI and shell both honor, desktop-aware Web App chrome, and three-platform packaging (electron-builder over a pnpm-deploy staging tree, built by a reusable CI matrix ahead of Release creation; unsigned until the signing milestone). (details) -
[2026-08-04] Web App: the public fixed admin password
penguin-2026is replaced by a randompenguin-<4 digits>seed printed once at first start (PENGUIN_SEED_ADMIN_PASSWORDpins it for tests, policy-checked), and the login endpoint gains per-username exponential throttling (5 free failures, 1s doubling to 60s,429 too_many_attempts, reset on success, identical for unknown usernames) so the 4-digit space cannot be enumerated. (details) -
[2026-08-04] CLI:
penguin webreadiness-probe failures are no longer swallowed — the last error is classified (timeout / refused / reset / permission / DNS) and reported with actionable, localized guidance instead of a generic "not responding yet". (details) -
[2026-08-04] Skills: new
skill-portinglibrary skill — verified, schema-accurate flows for bringing skills in from Claude Code plugin marketplaces, Codex plugins,npx skills add/skills.sh, GitHub repos and local folders, normalizing them into penguin's skill format with a read-everything-first safety gate. (details) -
[2026-08-04] Web App: skills become manageable from Agent settings — a Skills tab after Tools listing the installed set straight from disk, uninstall with confirmation, an Import dialog that leads with chat-driven install (URL + generated review-first prompt) and also accepts a skill zip through a new validated archive endpoint, and per-skill zip export that round-trips through that import; the agent list's tools/vault/schedules/skills icons deep-link to the matching settings tab via a new
?tab=param, and the list rows drop the active-session badge. (details) -
[2026-08-04] Web App: Project settings gains a "New chat defaults" section — default Agent, working directory, approval mode and thinking level stored as an additive
[default_chat]block in.project_config.toml, seeded into new drafts beneath route overrides and unsent drafts; the model row reads and writes the samedefault_modelthe models page owns through a narrow set-default endpoint, and thinking level resolves Agent-explicit → project default →medium. (details) -
[2026-08-04] Web App: the Traces page becomes a second surface of the session sidebar — shared group/folder/mode-toggle components (the sidebar refactored onto them), workspace and agent grouping on the sidebar's own persisted preference, lazy subagent/schedule/archived folders, server-side session paging — and trace discovery plus the agents-list activity sparkline move off per-request filesystem walks onto a SQLite-derived, mtime-reconciled trace index (rebuildable cache; disk stays the source of truth). CLI sessions now follow the show-CLI-sessions preference (default hidden), titles fall back to the first user prompt, and raw session ids are gone from the page. (details)
-
[2026-08-04] Web App: chat refinements — the conversation outline rail appears from 5 exchanges and windows to ±20 turns around the active one (fixing its overlap onto the composer and, under browser font scaling, onto the prose column), the toolbar cost stat no longer blinks out mid-run, tool rows drop the stop-reason text markers entirely in favor of the status icon, and the home update hint sheds its pill for plain superscript text. (details)
-
[2026-08-04] Fix: ANSI color codes no longer leak into tool output — the CLI gates color on TTY/
NO_COLOR/TERMwithFORCE_COLORoverride semantics matching Node, the command tool strips inheritedFORCE_COLOR/CLICOLOR_FORCEfrom child environments so itsNO_COLOR=1hardening wins, and the Web renders tool output through a defensive ANSI stripper covering historical Traces. (details) -
[2026-08-04] Models: OpenRouter gains
qwen/qwen3.8-max(1M context, vision, published cache-hit and cache-write prices), and the agenthub-models skill (v10) records the OpenRouter spelling — existing Projects pick it up through the models page's explicit "sync presets" action. (details)