This release adds linked tasks across several repositories, a live panel for subagents, push-to-talk dictation, and much more Git work in the diff view. It also fixes three reported issues. A lot of the Git, diff, composer and shortcut work started as pull requests from @clasen.
New
- Linked tasks across repos (0aafc63). A saved repo set names a group of Git repositories, and one agent task can then change all of them. By default each repository gets its own worktree on one shared branch; in-place mode edits your own checkouts. Ship commits, pushes and opens one pull request per changed repository, and links the pull requests to each other. Works on Pi and OMP. Start one from the Home card or the tab bar.
- Subagents panel (#99, ec3f4c5). A Subagents button on the chat rail lists the chat's subagents and shows each transcript, read-only and live while it runs. OMP uses its own subagent API. On Pi this works through pi-subagents.
- Push-to-talk (#103, 20ae1c9). Hold Mod+Shift+T to dictate into the composer and let go to stop. An opt-in system-wide key starts and stops dictation while the app is not focused. You can change both keys in Settings.
- Git in the diff view (2d3a896, 503bbb7, bf5311c, 2e11443). There is a Commit + Push button, and a Suggest message button that asks the model for a subject line (only when you click it). A "Files touched in this session" filter narrows the diff, and you can discard the shown files after a confirmation. The Commit dialog lists new files unchecked, so you choose which ones to add. Push can publish a branch that has no remote branch yet, and Create PR becomes Open PR #N once a pull request exists.
- Branch menu in the status bar (4fddb0d, f6677bf). Switch to another local branch, or create a new one from HEAD. A switch is refused while there are uncommitted changes.
- Custom keyboard shortcuts (1772429). In Settings > Keyboard shortcuts you can record, disable or reset each app shortcut.
- Keyboard model picker (6e07239, e6afa8b). Mod+Shift+M opens it from anywhere. The arrow keys pick a model, Left and Right set the thinking effort, and recent models come first. The new /model command opens it too, and an exact command name now ranks above skills in the slash list.
- Tool rail (e0a7cf2, 108cd1a). Icons on the right edge of the chat toggle the review panel, files, diff and terminal. Side panes sit next to the chat when there is room and move under it when there is not.
- Smaller additions: Git change markers in the editor gutter (9501e2c), opening a file from the diff viewer (1875c59), drag to reorder project tabs (471e9cb), a UI font setting (7248019), a resizable terminal panel (50b1005), a "Stopped" mark on stopped answers that survives a reload (760d0ea), tool rows for the pi-claude-cli provider (0b86040), and
~/.pi/.envloaded into agents and the terminal (dfc13b3).
Fixes
- Files dropped on the chat area are attached instead of showing "Drop folder to open as project", and the paperclip picker takes several files at once (#100, 124654e).
- A Pi startup that stays silent for more than 20 seconds is no longer stopped. Pi gets the full 120-second startup window, and after 20 seconds the status says it is still loading (#98, 0ee7cd9).
- On Windows, Ctrl+V and Ctrl+C work in the terminal panel, and the terminal has its own right-click menu (#91, 993a54c).
- macOS builds declare local network access and are ad-hoc signed with Pi Desktop's own bundle identifier, so model providers on your local network can connect (#104, 54f3ad7).
- A prompt the engine refuses (no API key, an expired login, no model) ends the turn and shows the reason. Before, the chat stayed stuck in streaming (291b318).
- A new session shows in the sidebar during its first turn, Resume Last Session opens the right session, and a session that holds answers is no longer treated as empty (448b342, acf1344).
- Coming back to a project in the middle of an answer keeps the text that streamed while you were away (f077a52).
- File names with spaces or non-ASCII letters work in Git status, the diff and Commit (222e7b5).
- App shortcuts no longer take keys from the code editor and the terminal (26a495c).
- Sending while you dictate stops the dictation. Before, the transcript came back into the empty composer (b4e76f7).
- Composer drafts and terminal sessions are kept per project (#80, #74).
- On macOS, Command+W closes the active session tab and Quit shuts down in order (#87, #97).
- Electron is now 43.7.9, and the build tooling is updated (f0ae5db, a1fbbc3).
Thanks
- @clasen for a long series of pull requests (#74 to #97). Much of the Git, diff, composer, terminal, shortcut and macOS work here started there.
- @LaurentMaxhuni for the new project site design (#102).
- @LPX-E5BD8 for the macOS local network fix (#104).
Notes
This is alpha software. On-disk formats and behavior can change between releases. The macOS build is ad-hoc signed but not notarized, and the Windows build is unsigned.