Repository navigation
Highlights
Tools that come with their own screen now show it in the chat, for Claude and Codex. Claude says when it'll check back on a thread, and you can cancel. Pi signs in from a list, the Mac Dock counts threads you haven't opened, and a streaming reply no longer redraws the whole chat.
- MCP apps show in the chat. Some MCP tools have a small screen of their own, like a chart you can change or a form. With Claude and Codex, that screen now shows as a card under the step that ran it, and you can open it beside the chat. When the app wants to run one of its own tools, the card asks first. It skips asking only when the agent has full access, or after you pick Allow every call. Other agents' MCP calls still show as plain steps.
- Claude tells you when it'll check back. When Claude schedules itself to come back to a thread, a line under the last turn says when, like "Checks back at 3:42 PM · in 14m", and why. The sidebar row counts down. Cancel ends that Claude session and every check-back in it, and asks first if work is still running. If the session or the app stops first, the chat says the check-back is gone. Jobs Claude saved to disk have no Cancel.
- Sign in to Pi from a list. Pi's Sign in no longer drops you into a terminal to type /login. Settings and the setup screen show a searchable list of what Pi can connect to, accounts first, like ChatGPT and GitHub Copilot, then API keys. Accounts open their sign-in page. Keys go in a password field, and Pi keeps them in its own folder. Pi's terminal sign-in is still there if you prefer it.
- A streaming reply only redraws itself. Each new chunk of a streaming reply used to redraw every message on screen. Now only the reply that changed redraws. In our test, 340 row redraws dropped to 20. Dragging a selection past the top of the chat now scrolls up while a reply streams. The Copy and Add note buttons follow their text as the chat scrolls.
- The Dock counts threads you haven't opened. On a Mac, the red number on the Dock icon now matches the finished threads the sidebar shows as unread, including ones that finish while you're looking at another thread. It goes down as you open each one, on any device. On Windows, the taskbar's green done mark follows the same rule once nothing is running.
Also improved
- In the desktop app, Settings › General › Open links in picks the built-in browser or your own for chat and terminal links. Links a terminal program marks up itself now open too.
- Open in VS Code, Cursor, Zed and others shows the file inside its project window instead of alone. On a Mac, VS Code is listed even without its code command.
- Unlabeled code blocks get Run in terminal or Put in terminal when every line is a plain call to a tool like git or npm. On Windows, so do simple bash blocks.
- Closed pull request rows above the message box stay closed after a restart, and the Pull request tab can bring one back.
- The Agents panel keeps track of a resumed Claude agent. Its rows show the logo of the agent doing the work. Side answers name the step they're on.
- Electron apps an agent launches, like your project or VS Code, no longer fail at startup. Claude's built-in tools read in plain words. Git tool installs show progress at once.
Complete technical changes
What's Changed
- feat(pi): sign in to Pi from a list instead of its terminal by @badcuban in #536
- feat(claude): show when Claude will check back, and let you cancel by @badcuban in #537
- feat: MCP app cards in the chat for Claude and Codex by @badcuban in #538
- fix(deps): upgrade vite-plus to 1.3.0 to close the launch-editor alerts by @badcuban in #539
- fix(source-control): tool updates show their progress right away by @badcuban in #540
- docs: the contributing guide welcomes features, not just small fixes by @badcuban in #541
- fix(editor): "Open in" shows the file inside its project by @badcuban in #544
- fix(server): agents and editors no longer inherit ELECTRON_RUN_AS_NODE by @badcuban in #545
- fix(web): code blocks without a shell label get the Run button by @badcuban in #543
- fix(web): the selection popover follows its text when the chat scrolls by @badcuban in #546
- feat(web): choose whether links open in the built-in browser or your own by @badcuban in #547
- fix: closed pull request rows above the composer stay closed after a restart by @badcuban in #549
- fix(claude): app tool calls get the tool's own result, and Claude's tools read in plain words by @badcuban in #550
- fix(release): a dropped connection to Apple no longer fails a stapled Mac build by @badcuban in #548
- test(web): the streaming reveal test drives its own frames by @badcuban in #551
- fix: the Agents panel keeps track of a resumed Claude agent by @badcuban in #552
- ci: server tests run in three parallel jobs, so CI finishes in about half the time by @badcuban in #553
- ci: unit tests run in their own job, beside the build by @badcuban in #555
- test(web): ChatView browser specs run in parallel tabs by @badcuban in #556
- fix(web): the chat says what an agent answering on the side is doing by @badcuban in #554
- ci: browser tests run on two machines, split by recorded file time by @badcuban in #558
- perf(web): a streaming reply no longer redraws every message on screen by @badcuban in #557
- test(web): the reply entrance test waits for the fade, not a fixed 300 ms by @badcuban in #559
- test: tests that could not fail now catch the bugs they name by @badcuban in #560
- test(web): the note-during-copy test holds the clock while it clicks by @badcuban in #561
- fix(web): the Agents tab shows the provider that runs each agent by @badcuban in #563
- test(contracts): drop tests that only restate schema shapes by @badcuban in #562
- test(server): drop provider tests that repeat another test's path by @badcuban in #564
- test(web): drop unit tests that repeat another test or a pass-through by @badcuban in #565
- test(server): drop orchestration and service tests that repeat another by @badcuban in #566
- test(web): drop browser tests whose behavior another spec already covers by @badcuban in #567
- test(desktop, shared): drop tests that repeat another or mirror a wrapper by @badcuban in #568
- test(web): the check-back test no longer fails near midnight by @badcuban in #569
- chore: remove three helpers nothing calls by @badcuban in #570
- ci: refresh the test shard weights from three runs' medians by @badcuban in #571
- test(server): the secure pipe tests wait for what they check by @badcuban in #572
- feat(desktop): the Dock counts finished threads you haven't opened by @badcuban in #573
- test(web): the text-selection list tests scroll the way a reader does by @badcuban in #574
- fix(web): dragging a selection up no longer fights a streaming reply by @badcuban in #575
- docs(release): prepare the 0.7.1 changelog and announcement by @badcuban in #576
Full Changelog: v0.7.0...v0.7.1