v0.6.0
Edit, Commit, Ship.
0.5 was about watching an agent work. 0.6 is about working alongside it — edit files without leaving the app, generate commits and PRs from the diff you're already reading, and see exactly which agent did what.
📖 Full write-up: Mains 0.6: Edit, Commit, Ship
Work alongside the agent
- The code viewer is an editor now — open any file from the tree and type. No round trip to your IDE for a one-line fix. Saves are conflict-guarded: if the file changed on disk underneath you, you get Reload, Overwrite, or Retry instead of a silent clobber.
- File explorer search — type to filter the whole workspace by name or path. In a git repo, git decides the candidate set, so everything
.gitignoreignores stays out of the results (VS Code parity: the tree shows dotfiles and build output, search doesn't crawl them). Falls back to a broad exclude list outside git. - 30 new file-type icons — Python, Rust, Ruby, Go tooling, Docker, Drizzle, Tailwind, Vite, Vitest, GraphQL, and more.
- Every subagent visible — subagents get their own panel and an agent glyph: a small symmetric mark whose pattern and color are hashed from the agent's identity, so the same agent looks the same everywhere. Status reads at a glance — twinkling while running, a check when finished, a cross on failure, a stop mark when halted.
- Task summary pill — the task summary is now a floating pill at the top of the transcript: spinner,
Task 3 of 7, and the step being worked on right now.
Commit and ship
- Git actions in place — commit and PR panels expand as accordions, so you never lose the diff you were reading. They're mutually exclusive and close themselves once their row goes unusable. Commit / push / create-PR show a loading toast that survives closing the panel and swaps in place for the result.
- ✨ Generate buttons — fill the commit message and PR title/body on demand. Generation uses a fast one-shot model rather than your chat model, so it costs neither your context nor your good tokens — and the wait drops from ~10–20s to a few seconds.
- No surprise staging — commit-message generation has a
previewmode that summarizes staged + working diffs without staging as a side effect. - Untracked files in diffs — workspace diffs now persist untracked files (migration
0009). - Bigger generation context — up to 100k characters of diff, with truncation explicitly flagged so the model knows it's seeing a prefix.
Agents
- One-click provider sign-in — when a provider CLI isn't authenticated, a notice appears above the composer and inline on auth-failed runs. Sign in opens the bottom terminal and runs that provider's login command for you.
- Faster Claude account detection —
claude auth status --jsonis tried first, so a signed-out state is detected definitively without spawning an SDK query. - Codex thread lifecycle — archive, unarchive, and delete Codex threads, wired through the app-server protocol.
- Better provider defaults — default models resolve from live catalogs, with provider-specific reasoning and effort defaults for Claude and Codex.
- Sturdier lifecycles — improved run, session recovery, task, and subagent handling.
UI
- Screenshot galleries — consecutive image artifacts group into a single gallery of compact tiles, so a verification pass reads as one result instead of scrolling you off the page. Actions, previews, and open-in-app menus are preserved per tile.
- Model picker — improved layout, submenu positioning, and pointer-travel behavior.
- Write tool — file creation gets its own icon and a "Wrote" verb, no longer borrowing Edit's.
- Refreshed diff rendering via
@pierre/diffs1.3.5 andshiki4.4.2.
Security
- Remote images are click-to-load — an auto-fetched remote image is a data-exfiltration beacon: a prompt-injected agent can encode your data into an image URL, and the fetch itself is the leak. Remote sources now render as a click-to-load placeholder; local sources (
data:, app capture schemes, workspace paths) render as before.
Fixes
- Codex/Cursor "already has an active writer" — writing provider settings used to rebuild the cached adapter, spawning a second app-server alongside the first while it still held thread writer locks, so resumed runs crashed. The factory now refreshes the live adapter's config in place.
- Packaged-app PATH — the packaged app adopts your login-shell PATH, so git hooks and version-manager binaries resolve (fixes husky failing with
env: node: No such file or directoryon commit). - Plugin details — the plugin page falls back to the cloned marketplace manifest when the catalog cache hasn't indexed an entry yet, and gained Installs / Updated / Source rows.
Platform: macOS only (Apple Silicon and Intel).
Full changelog: v0.5.0...v0.6.0