October 2, 2026
Fixed
- First-run Claude Code discovery skipped after quitting mid-flow — quitting before you finished first-run onboarding could mark the flow complete so discovery never appeared again. Incomplete first runs now resume, and discovery is offered at launch when it never ran and you still have no projects.
- Background mode forgotten in Quick Session — turning on Background in the Quick Session composer did not stick the next time you opened it. Your choice is remembered.
- Quick Session modal appearing dark in light mode — the Quick Session dialog could render with dark colors while the rest of the app was in light mode. It now follows the active theme.
- Home composer collapsing when using its menus — with an empty prompt, opening the coding agent menu or other composer menus could collapse the expanded home composer. Using those menus no longer counts as an outside click.
- Deep link goal field too small — the goal box on the create-session deep link screen was only one row tall. It is taller now so longer prompts are easier to edit.
- Sessions can start without a prompt — Start and Cmd+Enter on the home and project composers launch a session even when the goal is empty. The “Type a prompt to start” hint beside Start is gone.
October 1, 2026
New
- Claude Code discovery on first launch — the first time you open Xirp, it finds your existing Claude Code projects and sessions and offers to add the projects, attach or resume any running sessions, and import your recent history (the last 30 days) as resumable sessions with their original names. Import progress shows live, and the guided tour opens when the dialog closes.
- Resumed sessions losing their selected model — resuming a session could restart it on the coding agent’s default model instead of the one you had picked. Resume now restores your choice.
- Empty prompts doing nothing silently — with nothing typed, Start and Cmd+Enter did nothing on the home and project composers, reading as broken rather than disabled. A “Type a prompt to start” hint now appears beside the disabled start action.
- Sessions failing to start with a misleading error — when a coding agent refused to launch, Xirp replaced the real reason with a generic “binary not found” message. The agent’s actual error now shows.
- Review file navigation landing on hidden files — the next and previous file buttons in the review view could move to files hidden by your filters, keep going past the first and last file, and follow a different order than the file tree. They now move through the files you can see, in the same order, and stop at the ends.
- Bulk session menu reopening at a stale position — after using the multi-select bulk menu, clicking a session card did not close it, and a later Shift-click could bring it back at its old position. It now closes on any click and opens where you right-click.
- Startup hanging in rare cases — when another process held a port Xirp needs at startup, the app could hang partway through launching and the first sync never finished. Startup now completes anyway.
- The quick session picker works like the home composer — the picker’s prompt step now uses the same composer as the home page, so you can add several projects to the session, paste screenshots, and start in the background.
- One menu for session cards — the more menu and the right-click menu on a session card now share the same actions, with card size in a submenu, and Rename focuses the name field right away. The project name in a session’s breadcrumb also opens a menu with Go to project and Copy path.
September 30, 2026
New
- Multi-select session cards — click one session card in the minimap, then Shift-click another to select everything between them. Right-click the selection to archive the sessions together.
- Sort sessions by created time — the minimap Sort menu can now order sessions by when they were created, newest or oldest first.
- Detected URLs missing from the Browser button — a toolbar redesign dropped the badge counting local web addresses printed in the session, along with the hover menu that listed them. Both are back; picking an address opens the browser panel at it.
- Sessions started by your coding agent coming up wrong — guidance Xirp gives coding agents suggested avoiding a startup prompt by switching coding agent or starting sessions without a terminal, so agent-started sessions could come up with the wrong agent or fail to start. Agents now start sessions with your configured default coding agent and a visible terminal.
- Sessions with multiple projects get a worktree for each project — starting a session with several Git projects selected now creates a worktree for every project on the same branch, so each project’s changes stay isolated.
September 29, 2026
New
- API commands in the CLI — use
xirp api list,xirp api describe, andxirp api sendto inspect and call Xirp message handlers from the terminal. This is a power tool and does not confirm before state-changing calls.
- Command palette missing dashed names — typing a query without dashes could miss commands whose labels contain them. Matching now ignores dashes in both the query and the label, including in Settings search.
- Doctor fix buttons with no progress — clicking Fix on a setup reminder in the notification center gave no feedback while the fix ran. Those actions now show Fixing… until they finish, and a failed fix restores the button.
- Remove-project dialog hidden behind the browser panel — confirming Remove project while the browser panel was open could leave the dialog covered by the page content. The confirmation stays on top.
- Discord invite link not working — the Discord link under Support opened an expired invite. It now uses a permanent invite URL.
- Add project always visible in the Projects sidebar — the Add project row sits above your project list (with Import workspace in its menu), and sort stays visible under Your projects, instead of appearing only on hover.
September 25, 2026
New
- Codex plugin install in Settings — install the Xirp plugin for Codex from the Codex agent settings tab, the same way you already can for Claude Code.
- Dock badge for unread notifications — on macOS, unread items in the notification center show a bullet badge on the Dock icon. Reading or dismissing every notification clears it.
- Placeholder while a terminal is creating — when you open a linked shell, a card appears in the minimap right away and is replaced by the real terminal when it is ready.
- Session reparenting from the CLI — use
xirp session reparentto change a session’s messaging or stack parent after creation, or--detachto clear both.
- Window zoom resetting after restart — zooming the desktop interface with Cmd++, Cmd+-, or Cmd+0 no longer resets when you navigate or restart. Xirp keeps the level you chose.
- Terminal rows duplicating when the window resized — resizing or reflowing the terminal could repeat rows of output. Reflow no longer duplicates content.
- Session cost and context missing for newer models — cost and context-window monitoring did not recognize some current model ids, so those sessions showed no cost or used a stale context limit. Newer models are recognized.
September 25, 2026
New
- Project list in the Projects tab — with the Projects tab selected, the sidebar lists your projects (with sort, pin, rename, remove, and import) instead of an empty sessions view. Click a project to open it.
- Copy session ID from the session card menu — right-click a session card in the sidebar to copy its session ID.
- Worktree recycle timing out on large repositories — recycling a worktree on a very large repo could fail when git switch or merge took longer than 15 seconds. Those steps now allow up to 60 seconds.
- Click the session name to rename — in the session toolbar breadcrumb, click the session name to rename it inline. Enter saves, Escape cancels.
September 24, 2026
New
- Weekly Rewind — open a weekly summary from the header to see sessions you started, PRs merged, lines changed, cost, and an activity heatmap. On Friday afternoons, Xirp can nudge you when a new summary is ready; turn the reminder on or off under Settings.
- Window position remembered — Xirp restores the window’s size and place on screen when you reopen it, including whether it was maximized.
- Bare website links opening as Path not found — markdown links like
example.com/pathcould open a broken local path in the desktop app instead of the website. Those links now open in your browser.
- Session grid toggle moved into the sessions panel — the control that switches the session grid view now lives in the minimap footer instead of the header toolbar. The header search field stays centered.
- Coding agent menu on the home composer — choose which coding agent to start from the home goal box, without opening Settings first.
September 23, 2026
New
- Setup reminders — when Doctor finds failing setup checks, Xirp posts a notification so you can open Doctor and fix them without digging through Settings.
- What’s new notifications — after you update, the notification center can show a What’s new summary for the release when it includes new or changed items.
- Reply hints on session messages — messages you send from one session to another include a ready-to-run CLI reply command so the receiving agent can answer back.
- Browser annotations losing focus or clicking through — typing in the annotation composer could lose the caret after the page remounted, and drawing an annotation could also click buttons on the page underneath. Focus stays in the composer, and the page no longer receives the gesture while you annotate.
- Git sidebar open state shared across sessions — opening or closing the git sidebar in one session changed it for every session. Each session now keeps its own open or closed state.
- Truncated review file names with no tooltip — long file names in the review tree were cut off with no way to see the full path. Hovering shows the complete name.
- Sessions flashing idle while the agent starts — a session could briefly show as idle or finished during agent startup before settling on running. Status stays running through startup.
- Portal connect banner ignoring connection state — the Portal CTA could show the wrong prompt depending on whether you were connecting, already linked, or signed out. It now follows the real connection state.
- CLI socket taken while the app is starting — starting the desktop app could briefly steal the CLI socket from an already-running CLI, so CLI commands failed until you restarted. The starting app no longer displaces an active CLI socket.
September 22, 2026
New
- Notification center — a bell in the header opens a notification panel where you can read, dismiss, and snooze app notifications. Related preferences live under Settings.
- Standalone project terminals — open a plain shell for a project from the quick-session picker or the project page, without starting a coding agent. Use Ctrl+Shift+T on a project page.
- Session history search — on a project page, filter Recent and CLI session history by name, goal, branch, or last message.
- Clone progress for catalog repositories — when Xirp clones a repository to start a session, it shows live progress and no longer times out on large repos; you can cancel while cloning.
- User-chosen session names getting overwritten — a name you set in Xirp could be replaced by an auto-generated title, especially if you renamed before the first prompt. Your name now stays until you rename again.
- Landing on Home after an update — installing an update could reopen Home instead of the project or session you were on. Xirp now restores that page and reconnects the session.
- Portal tools missing in Gemini and Cursor sessions — connected Portal MCP tools were available to Claude and Codex sessions but not Gemini or Cursor. All four now receive Portal context when Portal is linked.
- Cmd-clicking wrapped file paths opening a truncated path — file links that wrapped across terminal lines could open an incomplete path and show “Path not found.”
- Ctrl+C archiving a Codex session without the usual warning — the first Ctrl+C could close the session instead of arming the archive confirmation that other agents use.
- Swapping the coding agent on a brand-new session failing — on a session with no completed turns yet, switching coding agents could fail with a handoff error instead of switching. Xirp now relaunches the target agent.
- Pasted screenshots ignored on the home goal composer — pasting an image into the home page goal box did nothing, unlike other session-creation forms. Pasted images now attach as thumbnails.
- Open in Terminal failing for iTerm in the desktop app — choosing iTerm from Open in Terminal could silently fail in the packaged app.
- Files and terminal links using the wrong folder for General sessions — Files, Review, and terminal file links for General sessions could resolve from the wrong working directory.
- Grid arrow keys jumping to the wrong pane — Cmd+Arrow in the split grid walked panes in list order instead of spatial neighbors, so Left from the first column could land on the previous row.
- General sessions blocked from empty Portal workspaces — workspaces with no linked repositories could not launch a General session from Portal.
- Xirp failing to start when a previous database owner was inaccessible — a stale ownership check could abort startup with a process permission error. Startup recovers more reliably in that case.
- Projects and Sessions navigation moved into the sessions panel — tabs for Projects and Sessions (with an active-session count), plus the new-session button, live at the top of the sessions panel. The panel no longer supports a top position—only left or right.
- Command palette opens from a header search field — a centered Search field in the header opens the existing command palette (Cmd+K still works).
- New Codex sessions follow your Codex defaults — instead of always forcing a fixed model, new Codex threads pick up the model from your Codex org policy, user config, or account default when available.
- Pi responses now support review and copy actions — the hover actions available on Claude and Codex responses appear on Pi responses too.
- Minimap PR status icons — approved PRs with passing checks show a clearer ready indicator, and auto-merge state takes priority when it applies.
- Minimap subgroup headers are clickable — double-click a project row inside a group to open that project, or right-click it for new session, terminal, and worktree actions.
September 18, 2026
Fixed
- Codex sessions rendering without color — Codex sessions could open in monochrome when the environment suppressed terminal color. Colors work again for coding-agent sessions.
- Ghost worktrees after deleting a folder on disk — removing a worktree directory outside Xirp left a stale entry in the worktrees list that failed with a confusing error when you interacted with it. Those entries are pruned automatically.
- Duplicate worktree rows in the worktrees list — the same worktree could appear more than once in a project’s worktrees panel after concurrent refreshes.
- Ignored files showing when expanding untracked folders — expanding an untracked directory in the git sidebar could list files that
.gitignore(or similar) should hide. - Session creation failing for non-git parent folders — starting a session from a folder that contains git repos as children but is not itself a repository could fail with a raw error. Xirp now handles that case cleanly.
- Missing or wrong session cost and context for newer models — cost and context-window monitoring did not recognize some current model ids, so those sessions showed no cost or used a stale context limit. Newer models are recognized, and cached-token costs no longer undercount when a model has no separate published cache price.
- Context window indicator on plain terminal sessions — linked shell terminals without a coding agent showed a context-window progress ring even though they have no model context. The ring is hidden for those sessions.
- Minimap group headers — project and cross-project group headers show a folder or group-type icon that swaps to a collapse chevron on hover, and workflow-status groups use per-status icons.
September 17, 2026
New
- Worktree search — filter worktrees in a project by branch name, folder name, or active session name when the list is long.
- Linked shell terminals from the CLI — run
xirp session new-terminalto create a plain shell linked to an existing session. Inside a session, Xirp auto-detects the parent; pass--nameand--commandto label it and start a command. - Repository insight during onboarding — when you set up your first task for a project, Xirp scans the repo and suggests starter goals based on repository health, languages, and activity.
- Screenshot to clipboard — press Cmd+Shift+X to copy a screenshot of the current window to your clipboard, including any open browser panels.
- Notification preferences — under Settings > Notifications, choose which notification kinds you receive and turn on digest mode to batch them on a timer.
- Browser panel keyboard shortcuts not working — remapped shortcuts for toggling the browser panel did nothing in the desktop app because routing used the wrong session location. Toggling and custom bindings work again.
- Browser panel annotations rendering outside the panel — annotation highlights and layout could extend beyond the live browser panel bounds.
- Swapping the coding agent on a fresh session failing — on a session still waiting for its first agent handshake, switching coding agents could fail with a session identity error. Xirp now relaunches the target agent instead.
- Sessions staying running after the agent finished — sessions could remain marked as running and never send a finished notification when the agent’s completion signal was lost. Xirp now recovers completion state more reliably.
- Session toolbar layout refresh — the session fork action moved into the more-actions menu (and can still be pinned), and the context-window indicator is now a progress ring.
- Minimap session and project headers refresh — session card actions moved into a more menu, and project group headers are clickable for collapse with a right-click menu to open the project.
- Deferred Codex sessions default to GPT-5.6 Sol medium — Codex sessions started in deferred mode now pick the same default model as other new Codex sessions, instead of inheriting an unexpected model.
September 15, 2026
New
- Restore from backup — when the local database cannot start, Xirp offers to restore from a saved backup. You can also choose Restore from Backup from the app menu to recover manually.
- Pinnable toolbar actions — pin your most-used session toolbar actions back to the toolbar; everything else stays in the more menu. Use Edit toolbar in the more menu to choose what stays visible.
- Sessions marked failed after an update or abrupt agent stop — when an app update or another process stopped the coding agent abruptly, the session could disappear as failed with no way to resume. These sessions now stay restorable like other interrupted sessions.
- Duplicate entries in the session switcher and command palette — the same session could appear more than once when searching or switching sessions.
- File editor tabs breaking after rename or delete — renaming or deleting a file in the tree left open editor tabs on the old path, showing load errors instead of the file you moved or removed.
- Forked sessions missing from the split-pane grid — forking a session did not add the fork to available panes when using a split layout.
- Xirp failing to start due to database conflicts — conflicting local database files could block startup with no recovery path. Xirp now detects the conflict and can recover automatically.
- General session card missing when you have no projects — with zero projects, the General session card did not appear after you removed it from the sidebar, leaving no way to reopen that session from Projects.
September 11, 2026
New
- Pi coding agent support — you can now create and run sessions with the Pi coding agent. Install it from the coding agent picker when starting a new session, or from Settings.
- Open reviewed files in the built-in editor — files in the diff view now have an edit button that opens them in the built-in editor. The diff refreshes automatically after you save.
- Terminal selection jumping to the bottom of the scrollback — selecting or copying text in a scrolled-back terminal snapped the view to the bottom, losing your place. Selection now stays where you scrolled.
- “Open in Editor” failing for multi-word editor commands — editor commands with flags (e.g.,
code --wait) and file paths containing&or similar characters caused “Open in Editor” to fail silently or reject the path. - CJK input confirming a character also submitting the command — pressing Enter to confirm a character during Chinese, Japanese, or Korean IME composition also submitted the line to the terminal.
- Sessions ending prematurely while background commands were still running — sessions with background work (such as a test suite running in the background) could be marked as finished before the work completed. Xirp now tracks background commands alongside background agents and keeps the session running until both finish.
- Voice error notification staying on screen — a failed voice input left an error banner on screen until you dismissed it manually. Voice errors now clear on their own.
- Cmd+Left and Cmd+Right not working as Home/End in the terminal — when session-cycling shortcuts were unbound, Cmd+Left and Cmd+Right were silently dropped instead of moving the cursor to the start or end of the line.
- Session toolbar actions moved to an overflow menu — toolbar actions that previously appeared as individual icon buttons are now grouped under a single menu. The same actions are available; the toolbar is less crowded.
- Shorter first-run onboarding — the onboarding flow for new installations is shorter and starts at the project setup step instead of walking through each settings page.
September 10, 2026
Fixed
- Sessions silently shown as completed after infrastructure loss — when infrastructure failed (a crashed terminal server, a machine reboot), interrupted sessions appeared as completed with no indication anything went wrong. They are now marked as interrupted, and you can resume them from the Sessions list.
- Agent hooks failing outside Xirp — on machines without a user-installed Node.js, coding agent hooks failed with “node: No such file or directory” when the agent was started from a plain terminal instead of from inside Xirp. Hooks now use the runtime bundled with the app.
- Update banner showing false warnings after swapping the coding agent — switching a session to a different coding agent left the version banner pointing at the old agent, so it showed an upgrade prompt that did not apply.
- Files tree collapsing on overlay close/reopen — closing and reopening the Files view reset every expanded folder to collapsed. Expansion state now persists across opens and across sessions.
- Session title generation overrunning its cost budget — generating an automatic session title loaded the project’s full context, hooks, and connected servers, which could spend many times the intended budget and then fail with no title at all. Title generation now runs in isolation from the project.
- Quick session creation showing overlapping popups — starting a session without a goal from the quick-session picker briefly showed two overlapping status indicators at the bottom of the screen.
- Coding agent reverting to an older installation after update — updating a coding agent did not always pin the new executable, so subsequent launches could fall back to an older version still on PATH.
- Security vulnerability in daily backups — fixed a security issue in how daily backup files were stored.
September 10, 2026
Fixed
- Coding agent not picking up Portal workspace after upload — uploading a transcript to a Portal workspace did not tell the running agent which workspace to use, so it answered from the wrong context or none at all. Uploading now binds the session to that workspace and the agent picks it up without a restart.
- Duplicate notifications after reloading Xirp — reloading the app during an active session lost the notification cooldown, so a session that changed state within the next minute could notify twice. The cooldown now survives reloads.
- Diff view preferences resetting each time — the inline/split toggle and the “view all files” toggle in the review changes view reset every time the view opened. Both now persist across sessions.
- Codex sessions failing with “turn/start failed” — starting a Codex session without a custom sandbox profile could crash immediately. Xirp now sets a safe default when no profile is configured.
- Sessions without a goal showing as “working” — starting a session without a goal immediately showed it as “working” even though no work had been submitted. It now starts as “idle” and switches to “working” once you send your first message.
- New Codex sessions temporarily start on GPT-5.6 Sol medium — previously, a new Codex session could inherit whatever model was last used instead of a fixed default. This is a temporary measure while a permanent fix is in progress. Resuming and forking an existing session still carry the recorded model.
September 9, 2026
New
- Browser panel annotations — click elements on a page in the browser panel to highlight them, leave a comment on each, and send all annotations to the coding agent in one go. The toolbar gains an annotate toggle that arms selection mode; clicking an element opens a composer for your comment, and a floating list collects them until you submit.
- Forked sessions double-counting cost history — forking a session carried over the parent session’s full cost history, so the forked session’s total appeared higher than it should. Forked sessions now start their cost counter from zero.
September 8, 2026
Fixed
- New sessions failing to start when Portal is connected — starting a session with a goal while Portal was linked caused the session to abort immediately with an “MCP config file not found” error. Sessions started without a goal (resume, fork) were not affected.
September 8, 2026
New
- Portal connection banner — sessions started before Portal was linked now show a banner offering a one-click restart so they pick up Portal tools. If Portal is disconnected while a session is running, the banner offers to reconnect instead.
xirp session import --resumeresuming under the wrong coding agent — when the recorded coding agent was not installed,--resumesilently substituted a different one. It now fails with an error instead of resuming the transcript under an agent that did not write it.- Short sessions sending “finished” notifications — a session that ran for less than 30 seconds still sent a completion notification, so quick questions and one-line fixes produced the same interrupt as a long coding run. Sessions that finish within 30 seconds of starting no longer notify.
September 5, 2026
Fixed
- White flash on startup — launching Xirp briefly showed a white frame before the app appeared. The window now matches the app background from the start.
September 4, 2026
New
- Cost alerts — a new Alerts section under Usage & Costs lets you set a daily spend threshold. Xirp shows a banner when a session approaches or crosses it, so you can catch runaway costs before they add up.
- Screenshot upload button — a new toolbar button opens a file picker for images and sends them to the coding agent, alongside the existing paste and drag-and-drop paths.
- Session import with
--resume—xirp session import --resumenow imports a session and continues it in one step, instead of leaving the imported session on its finished screen.
- Saved prompts pasting as a collapsed placeholder — inserting a multiline saved prompt into a Claude session dropped it as a bracketed paste the agent could not read. Prompts now arrive as editable text, and the prompt palette now works from the grid view as well.
- Review changes submit button ignoring clicks — the submit button in the review changes overlay sat behind an invisible drag region and did not respond to clicks.
- Stale results in the session search palette — switching sessions or closing the palette could leave old results visible the next time it opened.
- Repeat “session finished” notifications during long coding runs — a session running tests in the background could send a “finished” notification after every test cycle. Xirp now waits until the session has stayed finished for a few seconds before notifying.
- Notifications repeating on every page reload — reloading Xirp re-sent notifications for every session that was already waiting for input or had already finished.
- CLI messages sitting unsent in the prompt —
xirp session messagetyped text into the target session but did not press Enter, so messages waited in the prompt until manually submitted.
September 3, 2026
New
- Command-line tool — Xirp now installs an
xirpcommand alongside the desktop app. It can import sessions from Claude and Cursor into Xirp, list and message running sessions, and upload transcripts — all from your terminal or from a coding agent. - Mermaid diagrams in the file viewer — Markdown files with Mermaid code blocks now show the rendered diagram instead of raw text.
- Voice input recording silence —
/voicein a Claude session inside Xirp always reported “No audio detected from microphone” because the app was missing a microphone permission. macOS blocked the microphone silently, with no prompt and no error. Xirp now requests microphone access on first use. - Skills disappearing from the Skills tab — skills whose frontmatter contained certain punctuation patterns were silently dropped, even though Claude accepted them. Three or more skills could vanish with no indication they were missing.
- Worktree deletion silently dropping uncommitted work — deleting a worktree could remove uncommitted changes and unpushed commits with no warning when the status check had not finished loading. Xirp now verifies the worktree’s state before removing it and shows what would be lost.
- Terminal links opening two browser windows — clicking a link in the terminal while a program was using mouse input opened the link twice. Links now open once; hold Cmd (or Ctrl) to follow a link while a program has mouse focus.
- Repeat session notifications — a session flipping between “waiting for input” and “running” could send a notification on every flip. Repeat notifications for the same session are now suppressed for 60 seconds, and sessions you are actively viewing no longer notify at all.
- Session cost display with no way to turn it off — the estimated cost line appended to every Claude statusline could not be disabled, and hand-editing the configuration was overwritten on the next update. A toggle under Settings now controls it.
- Session uploads show their workspace — the upload button on the session toolbar now names the workspace it sends to. A menu beside it lets you pick a different workspace or create a new one. Moving a session to another workspace uploads it there and removes it from the previous one.
September 3, 2026
New
- Bulk worktree cleanup — a Cleanup button on projects with more than one worktree finds stale worktrees and removes the ones you pick. It shows each worktree’s age, whether its branch is merged, whether it has uncommitted work, and which sessions it would close. Nothing is deleted until you confirm.
- Blocked workflow status — sessions can now be marked blocked, alongside backlog, in progress, in review, and done.
- False “waiting for input” notifications during Claude sessions — a Claude session could report that it needed input roughly once every five seconds while it ran shell commands or tests, and could send a false notification just before it approved a tool call itself. Xirp now waits until the permission dialog is actually on screen. Requests whose notification never arrives are still caught, including ones from background subagents.
- Terminal staying dark after switching to light mode — the terminal palette no longer followed the app appearance, so choosing light mode left the terminal dark. The terminal theme now offers a “Follow appearance” option and uses it by default. The two settings are now named Appearance and Terminal theme.
- Scattered glyphs in the terminal after unlocking your screen — the terminal could come back from a locked screen or sleep with most characters missing, and only a full reload restored it. Xirp now redraws the terminal when the machine wakes.
- Unsaved file edits lost when the editor closed — closing the file editor or switching tabs discarded any edits you had not saved, while the tab kept showing as modified. Edits now survive until you save or discard them.
- Loss of all local data after an unclean shutdown — in rare cases a crash could leave the database unreadable, and the next launch would silently start from an empty one. Xirp now copies the database before opening it and keeps the copy when it detects this.
- Session switcher search resetting while you typed — the search box cleared itself whenever a session updated in the background.
- Review changes showing “0 / 0 files” while still loading — on large repositories the file list took long enough that the review view looked like an empty changeset. It now shows a loading state until the files arrive.
- Workflow status menu opening off-screen — the status menu on session cards near the bottom of the window opened below the screen edge. It now opens upward when there is no room.
- Confusing “Grid full” tooltip on empty project tabs — the grid full indicator appeared while viewing a project with no sessions in the grid, with a message that did not explain why.
September 2, 2026
New
- Passage-level review of agent responses — hovering a coding agent’s response now shows a Review button. Select the passages you want to comment on, add a note to each one, and send them back to the session as a single follow-up prompt.
- Long session goals being rejected — starting a session with a goal longer than about 10,000 characters failed with a message asking you to shorten it or move the detail into a file. Goals of any practical length now work.
- Sessions stranded on a broken coding agent — once a session had finished or failed, switching it to another coding agent was refused, leaving no way to recover the session. Switching now relaunches the session on the agent you pick and tells you whether the conversation history carried over.
- Branch name not updating for sessions in your main checkout — a session running outside a worktree kept showing the branch it was created on, even after you switched branches. The branch now follows the checkout.
- Worktree cards not showing how old a worktree is — worktree cards and Manage Worktrees left out how long ago each worktree was created, so you could not scan or sort by age.
- Continued visual refresh — the minimap and the main view are now inset panels with rounded corners and a gap between them, instead of meeting at a single dividing line. Panel and toolbar backgrounds changed to match.
September 1, 2026
New
- Refreshed header and menus, with separate app and terminal themes — the header, tabs, and menus have a new visual style, and Settings has moved into the account menu. Settings now sets the app to System, Dark, or Light independently of the terminal palette, which no longer resets to Dark at startup when you use a custom theme.
- Terminal scrolling stopping until you resized the window — a terminal could stop responding to the scroll wheel partway through a session, and only resizing the window brought scrolling back. Xirp now restores scrolling on its own.
- Desktop notifications showing a duplicate icon — session notifications showed a second copy of the app icon inside the notification body.
August 31, 2026
Fixed
- Sessions ending while background agents were still running — a session could report “Finished working” and send a completion notification while agents it had dispatched were still running. Xirp now keeps the session open until the last background agent finishes.
- Missing or false notifications for subagent permission requests — when a coding agent dispatched subagents, the “Waiting for input” notification could fail to appear, arrive late, or be replaced by a false “Finished working” notification. Notification timing now tracks each subagent individually.
- Editor file tree losing track of files after changes — the file tree could lose its highlight after a path refresh, and deleted or renamed files could stay visible until the next full reload. The tree now updates immediately after each file operation.
- Session titles containing only emoji — AI-generated session titles made entirely of emoji were accepted, producing unreadable cards in the session map. Titles without any word characters are now rejected and regenerated from the session goal.
- Compact minimap not showing when a session needs input — in the compact minimap view, sessions waiting for a permission decision or other input had no distinct indicator. A pulsing alert icon now appears on the card.
- Keyboard shortcuts are now in the help menu — the standalone keyboard shortcuts button was removed from the header. Open keyboard shortcuts from the help menu or its shortcut.
- Cursor Agent requires a tested minimum version — starting or swapping to Cursor Agent now checks the installed version. Outdated versions show an “update required” label with the update command.
August 29, 2026
Fixed
- Grid layout resize permanently removing sessions — changing grid dimensions (for example from 3×3 to 2×2) permanently deleted sessions that no longer fit. Sessions beyond the new capacity are now preserved and return when you expand the grid again.
- Switching coding agents not rolling back on failure — if a new coding agent failed to start after you switched to it, the session stayed on the broken agent with no way to recover. Xirp now returns to the previous agent when the new one fails during startup.
- Worktree bootstrap scripts not running from most entry points — a project’s bootstrap script ran only from the New Worktree dialog. Worktrees created from the session grid, Home, Cmd+N, deep links, or the CLI skipped the script. Xirp now runs the project’s saved bootstrap command on every worktree it creates.
- Quick Session applying a plan-mode choice from a previous prompt — selecting Claude Plan mode in the Quick Session prompt and then closing it without starting caused every later Quick Session to launch in plan mode, overriding your saved permission settings. Plan mode now resets when you leave the prompt.
- Quick Session marking project-checkout sessions as worktree sessions — sessions started without the worktree toggle could show a worktree badge and a worktree chip in the toolbar. Session cards now show the worktree indicator only for sessions that actually run in a linked worktree.
- Forking a Codex session with paginated history — forking an active Codex session whose history used pagination could create a session that appeared briefly and then disappeared. The fork now rebuilds the session cleanly.
- “Save preferences” button not working on the consent screen — on the marketing consent screen, clicking Save preferences did nothing, leaving you stuck. A “Not now” link now lets you skip the screen regardless of form state.
- Stale diff header showing after switching projects — switching from a project with an open diff to a clean project could briefly show the previous project’s filename and a “0 / 0” counter. Project switches now clear the previous diff state before the new project loads.
- Git sidebar jumping when toggling it open or closed — opening or closing the Git sidebar snapped the terminal to its new width in a single frame. The sidebar now transitions smoothly.
- Sessions show a readable name immediately — new sessions used to display as “Session” in the session map until an AI-generated title arrived. Sessions now show a readable name derived from the goal or first message within milliseconds. Title generation also works on setups without Anthropic credentials.
- Portal credentials are now stored in OS secure storage — Portal OAuth tokens that were previously stored as plaintext on disk now use the operating system’s secure credential store. Existing tokens migrate automatically on launch.
- Working sessions are highlighted in the compact minimap — session cards in the compact minimap view now show a subtle background tint when the session is actively working.
August 28, 2026
Fixed
- Grid panes overlapping when dragging a corner — dragging a pane’s corner could expand it on top of a neighboring pane, hiding that session. The pane now stops at its neighbor.
- New grid sessions opening in the wrong project — pressing Cmd+N in the grid could create a session in a different project than the one you were viewing. New sessions now go to the selected project tab.
- Terminal losing its scroll position after selecting text — scrolling back in a session to select text and then clicking anywhere jumped the view to the bottom. The view now stays where you scrolled, and the selection clears.
- Cmd+clicking a directory or missing path opening a broken editor tab — Cmd+clicking a path in terminal output that pointed to a directory or a path that no longer existed opened an empty tab with an error. Directories now open in Finder, and missing paths show a notification instead.
- External terminals getting wrong dimensions and broken text wrapping — attaching a second terminal to a session (iTerm, Termius, or SSH) gave that terminal the wrong size, cutting lines and padding the display. Xirp no longer overrides your tmux window-size setting.
- Background agent hooks ending the parent session — a hook fired by a background agent could signal that the parent session had ended, even though it was still running.
- Unwanted macOS permission prompt when creating a session — creating a session could trigger a macOS prompt for media library access. Background operations now run in the session directory instead of scanning the system root.
- Header content overlapping macOS window controls at non-default zoom — at zoom levels other than 100%, the header could overlap the macOS window controls or leave a gap next to them. The header now reads the actual control width from the operating system.
August 27, 2026
Fixed
- Voice input reporting no audio from the microphone — dictation could fail with “No audio detected from microphone” even though the microphone was working and permission was granted. Xirp also asks for microphone access at startup now, instead of on first use.
- Escape closing the file editor with vim mode on — with vim mode enabled, pressing Escape in the editor closed the whole editor rather than leaving insert mode. Escape now stays with vim while the cursor is in the editor, and still closes the editor from elsewhere.
- Updating a session to a newer agent version showing no feedback — when a session was running an outdated coding agent version, clicking Update in the banner could produce no response. Xirp now explains when the update is skipped.
August 26, 2026
New
- Saved prompts — save prompts you use often and recall them from a searchable palette (Cmd+Shift+;). Select a prompt to insert it into the active session. Prompts can be global or scoped to a project.
- Release notes not loading in the update dialog — the update dialog could show a new version without its release notes. The dialog now reads release notes reliably.
August 25, 2026
New
- Session card context menu — right-clicking a session card opens a menu with Edit title, Open in Terminal, Archive, and Delete. Edit title is also available in the sidebar card menu.
- Pressing Ctrl+C twice now asks before it exits a session — while a coding agent is running, a second Ctrl+C within a second opens the archive confirmation instead of stopping the session immediately. Ctrl+C in plain shells is unchanged.
August 24, 2026
New
- Workflow status — session cards and navigation views can now show a lifecycle status such as backlog, in progress, in review, or done. You can also group and sort sessions by status. Turn this on under Settings > Sessions > Workflow.
- Sessions stuck showing “Working” when idle — sessions could stay marked as working after the agent finished, requiring a restart to clear. Xirp now detects completed sessions even when the usual status hooks are missing.
- Ctrl+W opening the archive dialog instead of deleting a word — pressing Ctrl+W in a terminal opened the session archive confirmation in addition to deleting the previous word. Ctrl+W now goes to the terminal only; Cmd+W remains the archive shortcut.
- Codex sessions losing track of actions after resuming — resuming a Codex session could corrupt its tool call records, making the session report that it ran commands it had no evidence of. Resuming now preserves the original records and repairs previously damaged ones.
August 22, 2026
New
- Usage and cost tracking — a new cost button in the header opens a breakdown of token usage and spend per session and per day.
- Update prompts now show what changed and stay visible until you update — the update banner in the header can no longer be dismissed. An info button shows the changes included in the available version.
August 21, 2026
Fixed
- Signing out after roughly 20 minutes of inactivity — Xirp could sign you out even though your session was still valid. Sessions now stay signed in across temporary network interruptions.
- Codex sessions missing workspace context from Portal — Codex sessions launched from Portal did not receive the workspace tools and project context that Claude sessions got.
- Deep links not working when Xirp was not running — clicking a link while Xirp was closed could open the app without starting the session.
- Failed Codex sessions not starting again — a Codex session that failed on its first launch could become permanently stuck.
- Session goals are limited to approximately 10,000 characters — longer goals are rejected with an error instead of failing silently at launch.
August 20, 2026
New
- Discord community link — a new Support menu in the header gives you one-click access to the Xirp Discord alongside documentation and feedback.
- Codex sessions now receive the same launch context as Claude sessions — the CLI primer, PR event instructions, and language parallels that were previously Claude-only now apply to Codex sessions too. Their settings moved from the Claude tab to Settings > Sessions > Prompting.
August 19, 2026
New
- Cursor coding agent — Cursor is now available as a coding agent alongside Claude Code, Codex, and Gemini. You can select it when starting a session or switch to it from the agent menu.
- Copy action on agent responses — hovering over an agent response in the terminal shows a copy icon. You can turn this off under Settings > Terminal.
- Collapsible project groups — project groups in the session grid can now be collapsed and expanded. Xirp remembers which groups you collapsed.
- Split panes opening in the wrong directory — splitting a terminal pane opened the new pane in the wrong directory instead of the one you were working in.
- Regenerate Title doing nothing — the Regenerate Title action could become a permanent no-op once the generated title matched the session name. It now always produces a fresh title.
- Agent instructions pointing to the wrong files across projects — when a session spanned multiple projects, secondary projects told the agent to read the wrong instruction files. Each agent now looks for its own files.
August 18, 2026
Fixed
- Security vulnerability in the browser panel — fixed a security issue in how the browser panel loads pages.
August 18, 2026
New
- Session grouping by worktree — the session sidebar and project page can now group sessions by the worktree they run in. Groups show the project and branch across projects, and just the branch within one project.
- Confirmation before quitting — Cmd+Q now asks before closing Xirp, and your sessions keep running either way. You can turn the prompt off under Settings > General.
- Terminal file links in the built-in editor — Cmd+clicking a file path in the terminal now opens it in Xirp’s editor instead of another app, jumping to the line and column when the agent includes them. You can turn this off under Settings > Terminal & Editor.
- Deleting a worktree removing the whole repository — for a project pointing at a folder inside a Git repository, the repository root could appear in the worktree list, and deleting it there removed the entire repository. Xirp now recognizes the root even when the path reaches it through a symlink, and refuses to delete it.
- Coding agents failing to start — on machines with a separately installed Node.js built for a different processor, a coding agent could fail to launch. Xirp now starts them with the version it ships with.
- Codex sessions reporting they need input while still working — after an already-approved action, a Codex session could switch to “waiting” and send a desktop notification while Codex was still working. Xirp now waits until the approval prompt is on screen.
- Cmd+Backspace deleting one character instead of the line — in the terminal, Cmd+Backspace deleted a single character rather than clearing the typed line.
- Send Feedback doing nothing — on machines with no mail app set up, the feedback button silently failed. It now shows the feedback address with a button to copy it.
- Pull request reviews going blank — in rare cases, a diff Xirp could not render took the whole review view down with it. A diff that fails now shows a message and a retry button in place of just that diff.
- Skills missing from the Skills tab — skills whose folder was a symlink did not appear in the list.
- Pull request status going stale in the sidebar — the pull request shown in a session’s Git sidebar could keep an old status if it changed while that session was closed.
- Xirp restarting in a loop at startup — in rare cases, damaged session data could crash Xirp as it started, leaving it restarting over and over.
- Session cards in the sidebar have a new layout — cards are tighter and workflow status has its own column. The three density options are now Full, Default, and Compact, and all sessions start on Default, which is close to the previous Compact.
- The add button on a project now offers a choice — it opens a picker for a session, a terminal, or a worktree instead of going straight to a new session.
August 15, 2026
Fixed
- Sessions starting in the home directory instead of the selected project — in some setups, a new session could start in your home directory rather than the project you picked, triggering unrelated macOS permission prompts.
- Session failures showing nothing — when a session failed to start or resume, nothing happened on screen. Xirp now shows an error message explaining what went wrong.
- Open in Terminal not responding — clicking Open in Terminal could silently do nothing when the underlying terminal session was unavailable.
- Switching agents failing on sessions without a project — switching to a different coding agent on a session that had no project produced an error.
- Browser panel collapsing when docked to the left or right — the browser panel shrank to a narrow strip instead of filling its space when docked to either side.
- Codex sessions sending false waiting notifications — Codex sessions briefly appeared to need your attention during automatic reviews, sending unnecessary desktop notifications.
- Submit review shortcut not working from the terminal — the keyboard shortcut to submit a pull request review only worked when focus was inside the review pane. It now works regardless of where focus is.
- Coding agents now install with each vendor’s official installer — installing Claude Code or Codex no longer requires Node.js or npm. You can also update an installed agent from its settings page.
August 14, 2026
Fixed
- Sign-in failing right after clicking Sign in — on machines with a system proxy or custom certificates, sign-in could fail immediately with a network error even though the browser step succeeded. Xirp now uses the operating system’s network and certificate configuration.
- Automatic Codex reviews sending completion notifications — Codex auto-review runs no longer send a completion notification every time they finish.
- Highlighted lines carrying over between pull request reviews — opening a review could show highlighted lines carried over from a previously opened one, landing on the wrong rows.
- Updates failing silently — on some machines, Xirp could fail to install an update without telling you.
August 13, 2026
New
- Split terminal panes — you can now split terminals into multiple panes to run separate commands side-by-side.
- Setup health checks — a new Doctor page under Settings checks your coding agents, tmux, and agent hooks. It reports which ones failed and offers a fix for each.
- Clearer sign-in experience — the sign-in screen now explains that Xirp uses a Spotify Technology account separate from your personal Spotify account — your music, podcasts, and audiobooks aren’t affected.
- Data loss when deleting a session — in rare cases, deleting a session could remove your main repository checkout if Xirp misidentified it as a worktree. Failed worktree deletions now stop and report the problem instead of force-deleting the directory.
- Runaway statusline processes — a statusline bug could spawn processes without limit until the machine ran out of capacity and unrelated operations started failing.
- Running sessions marked as finished — active sessions could be written off as dead and hidden from the dashboard when Xirp couldn’t confirm their state. An unreliable answer no longer counts as proof a session ended.
- Clipboard overwritten when reopening a session — rejoining a terminal session could replay an earlier copy action and replace your current clipboard contents.
- Unclear startup failures — when Xirp can’t start, it now explains why. Startup problems with stored data come with recovery steps instead of an opaque crash.
Beta
The current beta includes:- macOS desktop application
- Claude Code, Codex, Gemini, Pi, and Cursor coding-agent sessions
- Persistent terminal sessions and multi-session grid view
- Local projects, Git worktrees, file editing, skills, and rules
- Portal authorization and catalog-based repository resolution
- Workspace MCP context for eligible sessions
- Manual session transcript upload to Workspaces
- Local settings, notifications, keyboard shortcuts, and diagnostics
Screens, labels, supported integrations, and behavior may change during the
beta. Xirp uses in-product announcements and update instructions when an
action is required.
Known beta limitations
- Xirp is available on macOS only.
- GitHub catalog onboarding uses organization-level GitHub Apps.
- Automatic monorepo onboarding is not supported.
- Session transcripts must be uploaded manually.
- A Workspace-launched session needs a catalog component with a source repository.