Releases: wsauret/flywheel
Release list
v0.0.8
This release strengthens account-aware usage, paid-capacity controls, session recovery, workflow consistency, and learned-skill maintenance. It also improves terminal visibility for startup, notifications, usage, diffs, and agent-launched work while reducing runtime memory, repeated event folding, and diagnostic growth
Added
- Show profile accounts, exact quota windows, monthly and range-based spend, credits, automatic billing status, pricing provenance, and count-only metrics backed by a canonical request ledger that attributes requests and credential rotations to the correct account lineage
- Require explicit per-account consent before using paid subscription capacity, notify when review is needed, expose consistent controls after login and at safe boundaries, and bind admission to current profile usage, credits, prepaid capacity, and automatic billing state
- Add customizable subscription usage alert thresholds and deliver provider, runner, runtime, and usage warnings as durable project-scoped toasts and notifications
- Add exact-provider model controls, reviewer subtype overrides, role-specific default models, and a dedicated designer model seat for interface judgment
- Discover code through linked directories while keeping Flywheel-owned directories private
- Add safe child-worktree execution with project and execution-directory authority enforced across nested agents and tools
- Add reusable standalone agent methods for research, root-cause analysis, verification, UAT, implementation, and specialist reviews, with elegance-first synthesis and composable target-specific guidance
- Add interface-planning and interface-review capabilities through model-visible skills and a design reviewer that evaluates hierarchy, theming, states, spacing, motion, and copy
- Make the advisor available to workflow subagent steps and allow explorers to inspect GitHub diffs with
gh - Add learned-skill health tooling with
flywheel skills doctor, deterministic moved-path repair, body-budget reporting, development-only pointer checks, and explicit guidance for moving oversized content into references - Add learned-skill maintenance that surveys library structure, plans merges and repairs, applies validated units atomically with
--apply, preserves unchanged files without repeating them, and continues after isolated refusals - Add learned-skill consolidation with dry-run support, recoverable archives, semantic auditing, automated cleanup after bundled-skill changes, and a CLI option to force cleanup
- Add durable interrupted-turn reporting that records which tools ran and which files changed so a resumed agent can continue without repeating completed work
- Pin workflow definitions and handoff contracts when runs are admitted so active and resumed runs retain the exact revision they started with
- Show blocking startup phases and migration progress before the runtime is ready, and surface worker startup failures instead of leaving an empty loading screen
- Show all edited files in compact transcript rows and independently preview each file
- Organize settings and provider controls into expandable groups
- Add independently scrollable, easier-to-scan subscription account cards while hiding ChatGPT Codex limits by default
- Add
/doctorfor checking learned-skill health from a session
Fixed
- Prevent duplicate OpenAI tool calls from corrupting sessions by deduplicating completed response items with their stable call identity
- Avoid false provider outages after Escape, system sleep, local runtime failures, silent stream closure, or unsupported inference by requiring positive wire evidence before durable suppression and allowing planning to select a suppressed sole provider as a last resort
- Preserve session state across provider resets and keep degraded or malformed-history sessions available for explicit restart
- Make crash recovery scoped and lossless by bounding recovery to the current conversation, durably preserving queued input, distinguishing possibly unexecuted tools, and recording deliberate turn dismissal
- Keep stalled recovery within one logical turn, retry stalled responses in smaller work chunks, resume capped turns from durable context without duplicate work, and keep provider retry messages out of model context
- Let Escape interrupt model retries
- Restore live session-list updates in every window by attaching projection streaming to the first protocol client rather than the first internal listener
- Keep agent-launched workflows visible by isolating malformed session rows, retrying failed catalog reads, and projecting execution directories from available metadata
- Keep background notifications durable across session reopen and deliver them through chat, workflow, and other runner types
- Enforce paid-capacity decisions against exact, fresh evidence, preserve the newest review state, reject stale writes, honor zero caps, and keep credit failover consent-safe across restarts
- Keep paid-capacity review available for verified accounts when another account cannot be verified, while continuing to fail closed when no evidence is verifiable
- Correctly label unavailable paid sources as off rather than declined, explain unfunded or disabled sources, and offer review only when it can authorize spending
- Show paid-capacity save failures and preserve in-progress decisions while reviewing
- Keep profile switching atomic and isolated across roles, usage, refresh generations, model labels, and downstream admission while adopting already prepared runtime state
- Validate saved model targets against the current provider account and preserve provider catalog caches across upgrades, treating undecodable old caches as absent until refreshed
- Restore SuperGrok device login
- Continue automatically after quota failover and refresh token-based finite Copilot quotas
- Keep complete repository instructions in model context, including nested imports from the repository root and safely resolved symlinked instructions
- Improve agent prompting and model-visible guidance to prefer empirical design evidence, resolve uncertainty before implementation, highlight recommended implementation routes, require explicit workflow approval, and verify delivered code against approved intent
- Improve agent prompting and model-visible review guidance to preserve verified constraints, choose one minimal remedy, make low-priority findings opt-in, and avoid unsupported best-practice complexity
- Change agent prompting and model-visible skill guidance to correct contradicted claims rather than append beneath them, preserve like sections together, state exact body-budget remedies, and avoid compressing new content merely to fit
- Allow the advisor to perform read-only shell inspection
- Keep managed command output streaming, and update agent guidance so Bash timeouts are reserved for commands with real deadlines
- Bound native worker generations and failed admissions so stalled replacements cannot grow worker populations indefinitely
- Prevent runtime replacement and shutdown from overlapping, stop role updates after shutdown, and release client sockets exactly once so idle cleanup can run
- Keep the idle reaper alive after stalled or rejected work checks by treating uncertainty as live work, recording the failure, and rearming the check
- Create required event-store companion tables before migrations so older stores no longer crash startup
- Prevent unreadable or abandoned in-flight recovery state from blocking activation or resurrecting deleted sessions, and refuse file mutations when their recovery state cannot be prepared
- Keep paused workflows retryable after pruning, remove superseded facts without deleting current per-step state, and preserve pinned workflow revisions
- Keep model overrides reactive during active workflows
- Require explicit user approval before launching workflows
- Reject impossible learned-skill operation recovery states, keep maintenance manifests strict, renew cleanup claims during long model requests, and make cleanup leases and retries crash-safe
- Prevent learned-skill audits from following instructions inside the packages they inspect and pin the admitted audit identity
- Honor configured skill archive windows and recheck recent activity before startup cleanup archives a skill
- Continue learned-skill maintenance after a refused unit, while stopping on request-wide or partial-write failures and reporting usable outcomes
- Accept dragged file paths in edit operations
- Keep mutation previews complete while redacting recognized credential values only, allowing ordinary public path references to remain visible
- Show syntax-highlighted file-write previews and previews for large diffs, while keeping retained full diffs collapsed until expanded
- Show and edit complete Ask User responses, including preserving typed Other answers while navigating choices
- Keep tab actions correct after terminal resize
- Keep provider account details responsive and show an error when a modal cannot load
- Keep session role labels current
- Render Luna shell calls as Bash
- Remove misleading process controls from transcript rows
- Make subagent failures explain how to recover and preserve reviewer effort after reload
- Make configuration notices actionable
- Show update alerts as a dismissible prompt badge
- Restore quota, startup, and usage progress bars with compact modal sizing
- Classify unknown POSIX directory entries instead of silently omitting them
- Make local installation and updates work with standard Windows permissions
- Search and list through Windows junctions by shipping linked-directory support and comparing canonical paths in the same Windows path form, while still blocking junctions into Flywheel-owned directories
Changed
- Use space-separated CLI subcommands and
--project-root; colon-delimited subcommands, baremaintain, and--base-dirare no longer accepted - Count credit-backed requests as spend...
v0.0.7
This release improves model routing, agent guidance, workspace safety, and terminal stability. It also makes settings and model roles easier to navigate while producing clearer file-change and delivery records.
Added
- Agents now consult the Advisor at material decisions through updated agent prompting and model-visible persona guidance
- Approved designs now flow into implementation through updated agent prompting and workflow guidance
- Chat and Advisor now have set default models only falling back to tiered resolution if none of them are available
- Settings are organized around common tasks for faster navigation
- Flywheel keeps its local state directory out of project changes by adding a checkout-local Git exclude without modifying the project’s tracked ignore rules
Fixed
- Configured providers now resolve consistently for chat, subagents, and workflows through one session-owned provider planner that refreshes settings between requests without changing in-flight work
- Model setting changes now take effect after the first save, while benchmarked and provisional role defaults remain distinct and role groups use one consistent order
- Quitting during a turn no longer records a false user interruption or voids approvals because shutdown shelves active turns instead of invoking the Escape path
- Shipping guidance now tells agents to preserve existing user edits when committing work
- Agent guidance now reserves Bash timeouts for commands with real deadlines
- Switching tabs no longer crashes while a question is pending
- Modal descriptions now stay within fixed layout space instead of changing modal height
v0.0.6
This release improves model selection and catalog reliability across sessions and transient failures. It also gives reasoning models and reviewer dispatches more time and recovery options before failing.
Added
- Models with >= $4 input pricing are now classified as "powerful" in the tier system
Fixed
- Keep authenticated model selection consistent across sessions, including legacy subscriptions
- Preserve model catalogs through fetch failures while isolating discovery results and cancelling stale requests
- Allow up to five minutes for models to reason without producing output
v0.0.5
Flywheel now applies settings changes across active sessions and improves control over long-running agent work. This release also strengthens Windows support across startup, tools, security, and clipboard performance.
Added
- Apply runtime setting changes across active sessions without restarting
Fixed
- Flywheel now starts and runs reliably on Windows, with private credentials, correct paths and logs, preserved session evidence, and no unwanted console windows
- Shell commands, MCP servers, and the clipboard now work reliably on Windows, including interruption and shutdown
- Escape reclaims parked agent turns, subagents remain stoppable after chat interruptions, and held results no longer consume an extra turn
- Live settings remain consistent across runtime changes, requests, and theme updates
- The welcome card updates immediately after switching branches
- Windows installations succeed when a Unix version of
taris on PATH - Flywheel refuses to read or replace its own state through linked paths on Windows
v0.0.4
Flywheel now provides subscription usage tracking, quota history, and durable threshold alerts across authentication profiles. This release also improves responsiveness, failover, and Windows startup reliability.
Added
- Monitor current subscription usage and quota history per authentication profile, with configurable durable threshold alerts
- Create session-specific authentication profiles and delete saved profiles
- Only render up to four lines in subagent previews instead of four rows, no matter how many lines each row is
Fixed
- Start the interactive TUI correctly on Windows
- Keep outage failover within subscription tiers
- Preserve provider-reported quotas and threshold cycles
- Show inherited workflow subagent models consistently
Performance
- Defer workflow startup work until needed
v0.0.3
This release improves configuration guidance, provider setup, update checks, and project memory. It also strengthens startup, filesystem, process, and terminal rendering reliability across platforms.
Added
- Google Vertex AI Express Mode is now available as a model provider
- Project memory keeps project-specific preferences local and gives clearer guidance when storage is full
- Existing installations enable newly shipped modules and providers by default
- The authentication modal hides disabled providers and updates immediately when module settings change
- Auth modal rejects API keys that belong to a different provider
- Flywheel checks for updates every 30 minutes while running and immediately after restart
- The Ship skill asks whether to commit and push directly or create a branch and pull request
Fixed
- Unknown configuration keys now produce warnings without discarding valid or retired settings
- Theme backgrounds, pane borders, toast borders, and question dock borders render correctly across terminals, with a Compatible Rendering setting for the Terminal.app border adjustment
- Modals preserve the transcript background instead of dimming it
- MCP tool calls from Code Mode now execute correctly
v0.0.2
v0.0.1
This is the first public release of Flywheel: a greatest-hits coding agent in a beautiful native terminal UI.
Install
macOS and Linux:
curl -fsSL https://github.com/wsauret/flywheel/releases/latest/download/install.sh | bashWindows (PowerShell):
irm https://github.com/wsauret/flywheel/releases/latest/download/install.ps1 | iexThe installer resolves this immutable tag, downloads the binary for your OS and CPU, and verifies it against SHASUMS256.txt. Installed builds keep themselves current with flywheel update or the automatic background check.
What is in 0.0.1
- A terminal UI worth looking at. Mouse support, live markdown and syntax highlighting, collapsible tool output, inline diff previews, a session picker with live previews, and around forty bundled themes.
flywheel fontinstalls the Monaspace terminal font for the best experience. - Durable workflows. Multi-step agent workflows compile to a deterministic queue with verification between steps, retries with feedback, pause and resume, and crash recovery. Close the terminal mid-run and the workflow resumes from its recorded state.
flywheel --headlessruns the same workflows in CI. - Subscriptions first, API keys as fallback. Sign in with ChatGPT, GitHub Copilot, SuperGrok, or OpenCode Go; several accounts of the same subscription rotate automatically when one hits its cap, before falling back to your API keys (Anthropic, OpenAI, Google, OpenRouter, or any OpenAI-compatible endpoint).
- Everything is inspectable. Sessions are event-sourced into a local SQLite store and runtime diagnostics stream to a structured log.
flywheel events searchanswers "what actually happened" across both on one timeline. - It learns, with consent. Skills and a curated memory accumulate from real session outcomes, are stored as reviewable files, and trace back to the sessions that produced them (
flywheel skills:why). - Plays well with your stack. MCP servers over stdio or HTTP with OAuth (
flywheel mcp add,flywheel mcp login), and one-command import of a Claude Code.mcp.json. - As minimal as you want it. Workflows, skills, subagents, learning, and background commands are each a single toggle; disabling one removes its tools, prompts, and commands entirely.
Supported platforms: macOS (Apple Silicon), Linux (x64 and arm64, glibc), and Windows (x64 and arm64). Every asset is tag-addressed and verified by size and SHA-256 through release.json and SHASUMS256.txt.