November 8, 2026

pzzacode 0.2.70

What changed in 0.2.70

Git in every tile

  • The tile footer shows the branch with push and pull counts, a dot when there are uncommitted changes, the pull request with its checks, and opens each of them in one click.
  • Review changes: open a tile's changed files as diffs, side by side or in one column, with the changed words marked. Large, heavily edited files no longer freeze the window.
  • Comment on diff lines in one or several files and send them to the tile's agent as one numbered review. A single question about selected lines can be sent the same way, only while an agent runs in the tile.
  • Failing CI checks in the footer can be sent to the tile's agent as a trimmed log file.
  • Open PR pushes the branch and opens a pull request, falling back to the compare page when the GitHub CLI is missing. Branch pages work for GitHub, GitLab and Bitbucket remotes.
  • When two agents work on the same branch, even in another workspace, the footer warns and offers to move the agent into a new worktree next to it.
  • When an agent stops with uncommitted changes, the notification says how many files changed and offers to review them.

Worktrees

  • A new session can start in a new worktree on its own branch, next to the repository.
  • New worktrees copy ignored .env files by default (never through links) and can run approved setup commands before the agent starts. The repository setup is editable from the worktree list.
  • Workspace worktrees fold away, show what is safe to remove and clean up merged ones. Squash and rebase merges count as merged; unmerged work is never deleted.
  • Worktree rows open a pull request and merge after a confirmation, only when both checkouts are clean, and abort on conflicts.

Sessions and agents

  • New sessions can start Claude Code, Codex or OpenCode in a chosen mode (for example Plan or Bypass), with a one-line starting prompt or by continuing the last conversation. The agent is remembered per folder.
  • Recent session folders are one click away in the new session form, and dropping a folder on the window opens the form with that folder chosen.
  • The footer shows the agent session's cost and run time, with token counts in the tooltip, for Claude Code and Codex sessions.
  • The session's model is read from its newest reply, so "Effective model unavailable" no longer shows for sessions using a model alias.
  • Adding a device installs the agent over SSH from its own dialog.

Command palette, search and prompts

  • Cmd+K opens a command palette with fuzzy search over actions, sessions, workspaces, settings and help, even from inside a terminal.
  • Cmd+Shift+F searches the scrollback of every open terminal; Enter jumps to the tile, scrolls to the line and marks it.
  • Saved prompts: create, edit and reorder them in Settings, and send one to the active tile from the command palette or the broadcast bar.
  • The broadcast bar sends one line to several selected sessions at once.
  • Cmd+J jumps to the next tile that is waiting for you.
  • Workspace snapshots save the layout, sessions, folders and branches, preview a restore and can be shared by copy and paste.

Tiles and layout

  • One Spacing setting (Settings > Appearance) sets the room at the window edges and between tiles. At 0, tiles join edge to edge with single borders and square corners.
  • Auto columns follow the number of tiles and the window width, and Auto arrange resets saved sizes from the command palette or the layout menu.
  • Tiles can be moved by dragging, with a preview of the drop, Esc to cancel and scrolling at the canvas edge; keys move the active tile too.
  • Edge and corner grips resize tiles in half steps, reset on double-click and work from the keyboard. The edge grips are a thin line until you point at them.
  • Tile headers and footers stay readable at every width, keeping the title and every button visible.
  • When the canvas scrolls, its scrollbar sits inside the right spacing, so both sides look the same.

Terminal

  • File paths and URLs that wrap across lines open as one link with Cmd+click, including paths a program wraps with an indent and URLs cut short before the terminal edge.
  • The footer shows paths with the home folder shortened, keeping the last two folders.

Editor

  • The code panel picks the highlighting from the whole file name as well as the extension, so Dockerfiles, nginx configs, shell dotfiles like .zshrc and .env files are highlighted too.
  • The editor can review changed files as diffs and open them for editing.
  • The layout buttons for the code panel replace the former layout menu.

Setup

  • Setup fills the window before the tour, asks for macOS permissions first, installs missing requirements on its own and cannot be skipped. It finishes once everything it needs is ready.
  • Settings > Setup replaces Settings > Permissions. It shows each group (PzzaCode and tmux permissions, the tools PzzaCode runs on, this device) as one row and opens the ones that need action. Run setup starts it again.
  • Setup grows and shrinks smoothly as its checks finish, without jumping.
  • The UI tour spotlights each part of the window, can be skipped and ends with a summary.

Dictation

  • Push to talk: hold either Option key alone to dictate into the active terminal, or tap to start and stop (Settings > Dictation > Option key).
  • Stop after silence ends dictation after 5 seconds of quiet once you have spoken, adjustable in Settings. Pauses while you talk never end it.
  • Recognition shows a listening indicator and animated dots right away, and keeps the words being pasted visible until the terminal shows them.
  • My languages starts from the languages and region in System Settings, so an English Mac set up in Turkey offers English and Turkish. The language menus list every language, the picked ones first.
  • The mic button no longer has its own language switch; detection picks among My languages.
  • Short sentences stay in the language you were speaking unless another one is clearly more likely.
  • The first dictation downloads a small speech detection model (2.3 MB) that auto-stop uses.

Appearance

  • Semi-transparent mode is on by default for new installs. Menus, dropdowns, dialogs and the command palette become liquid glass that blurs what is behind them, and everything inside them follows. With the mode off they stay solid.
  • Borders are softer across the app, with fine hairlines and soft shadows on floating panels.
  • A consistent type and corner scale across the app, with equal room between every header and its content.
  • Switches keep their size while pressed, and doubled border lines are gone from tiles, editors, diffs and settings.
  • The spacing slider marks the default, snaps to it and keeps its value in view.

Top bar and menus

  • Top bar dropdowns grow and shrink smoothly while their data loads, and never move when their button changes width.
  • The usage panel keeps one-line rows with a selector column; the chip follows the chosen row and pinned rows are remembered.
  • The ports chip shows how many ports are forwarded.
  • Badges sit on the icon corner, and the whole top bar and each menu fit small and large windows.

Help

  • Help is organized into focused pages with previous and next, covering every feature, including Cmd+click on links and paths and pasting images into an agent.
  • The Help menu in the menu bar lists every Help topic in the same sections and order.

Fixes

  • The window opens centered on the screen.
  • A duplicated session is named like the original with "Copy" added (for example "PzzaCode Copy", then "PzzaCode Copy 2") instead of a long random id in the footer.
  • The dirty dot on the branch icon is no longer clipped.
  • The app stays usable in small windows: the tour, dialogs, creation forms and every settings page fit a 720x480 window.