Changelog

What's new

Recent user-facing changes to pm7Code. Newest first.

  1. Create Topic from a todo

    The todo row ⋯ menu adds Create Topic: pm7Code asks your first account server for a project (TypeSafe/jev) and title (Codex gpt-6-luna), opens the New Topic window with a loading overlay, then pre-fills project and title when ready. After you create the topic, the todo text seeds the Command Center draft and the todo moves to that topic's list.

    Read in the docs →

  2. Settings → Tabs: live preview and tab colors

    Theme Settings → Tabs shows a live mini tab bar (active, inactive, hover with status icons) and one Colors card for tab bar, active, inactive, and hover background and text — each field can follow the theme or override with hex. Per-tab colors from the tab context menu still win.

    Read in the docs →

  3. Claude Code: background Agent tasks keep the turn open

    When Claude Code launches an Agent tool in the background (async_launched), pm7Code keeps the Agent card running, shows (waiting for background agents...) instead of idle, and only finishes the turn after those sub-agents report back — so “done” no longer appears while work is still running.

    Read in the docs →

  4. Slash commands: switch built-ins and custom commands off

    Settings → Agents → Prompts → Commands adds an on/off toggle on each built-in and custom slash command card. Switched off means the command is hidden from Command Center autocomplete and is never sent.

    Read in the docs →

  5. Memory pill on the window tab bar

    On macOS desktop, the resource (memory) pill sits top-right in the window tab bar when tabs are visible — same slot pattern as the build pill — and falls back to the title bar when the tab bar is hidden. The WebApp still hides it.

    Read in the docs →

  6. Window tab groups: member title in the bar

    A group tab label shows the current member's title (active, then last-used, then first); the group name stays in the tooltip and member menu header. The member list adds project · server subtitles, keyboard navigation, and a checkmark on the active tab.

    Read in the docs →

  7. Trace: parked topics hidden, Show 17

    Parked topics no longer appear in Trace while they stay parked; the visit is kept and returns when you unpark. The Show menu's first limit is 17 rows (was 15), still after the only-once filter.

    Read in the docs →

  8. Menus dismiss reliably

    Popups and context menus across the app share one dismiss handler: an outside click (capture phase), Escape, or losing window focus closes the open menu without nested UI keeping it stuck open.

    Read in the docs →

  9. Trace pane in the right sidebar

    After Note, Trace lists topics you visited in the main view, newest first — same row as the Projects sidebar, with a 3-second dwell before a visit counts. Toggle Show topic only once, limit visible rows with Show 15/50/100/All, and click a row to restore the window tab and topic while revealing it in the sidebar.

    Read in the docs →

  10. Start context card for new sessions

    At the top of CView on a new session, a Start context card shows the five prompt layers with status and openable paths, other context sources (Memory, Todos, Build policy, and more), agent instruction files when loaded, and how startup context is sent — distinct from the per-turn Prompt Context card.

    Read in the docs →

  11. Solo Assistant: account avatar with sync status

    The solo Assistant window (?panel=assistant) shows your account avatar with an orange or red alert when workspace sync stalls or sign-in fails, plus Sign in again and Retry in the menu — so sync problems are visible without the Projects sidebar.

    Read in the docs →

  12. Deploy procedure: Auto generate and Continue in new Topic

    Project Settings → Build & Deploy adds Auto generate (read-only investigation on the project engine; Stop generating while it runs) and Continue in new Topic to walk unverified findings one-by-one before you paste the updated procedure back into settings.

    Read in the docs →

  13. New Topic: switch project from the header

    In the New Topic window, the project name in the header opens a picker so you can target another project before you create the topic. The list matches this window tab’s visible projects; Show all projects adds hidden servers, groups, and projects. Search filters on project name only.

    Read in the docs →

  14. Todo numbers unique across all projects

    Short labels like Todo 231 are unique for your account across every project, not per project. A ledger on your first account engine assigns numbers from 100 upward; the client writes them to each project’s engine. A number never moves to a second item.

    Read in the docs →

  15. Todo row actions menu

    Each todo row uses a ⋯ menu instead of a single delete control: Copy, Copy ID (the short number — disabled until synced), Edit, and Delete. Delete confirms in the row: open todos archive; archived todos delete permanently.

    Read in the docs →

  16. Agent can propose ticking off todos (TopicTodoDone)

    After verified work, the agent may emit a TopicTodoDone block with todo numbers and reasons. CView shows Tick off and Keep open per item — only you tick off. Keep open stores declinedAt on the todo so the agent sees it and does not keep re-proposing the same item.

    Read in the docs →

  17. Project display: hide Build & Deploy topics

    Display tab adds Hide Build & Deploy topics: each project’s dedicated Build & Deploy topic (🚀) drops out of the sidebar list. A pinned Build & Deploy topic still shows in the pinned block on top.

    Read in the docs →

  18. Assistant: Tab mode

    A fourth Assistant sub-mode follows the active window tab — start Tab Assistant when you need help with which projects belong on this tab and why the sidebar shows what it shows. Context uses the same Visible-items membership rules as the dialog, plus sidebar filter state.

    Read in the docs →

  19. Todo pane: Project and Topic together

    The Todo pane stacks Project todos above Topic todos, each with collapse, open-count badge, and + to add. Open/Closed/Archived/All applies to both lists; the Todo header badge counts open items from both.

    Read in the docs →

  20. Todos: markdown and links

    Todo text renders safe inline markdown like CView — links, bold, and code. Clicking a link follows Link Routing and does not start edit mode; double-click outside a link still edits the source.

    Read in the docs →

  21. Visible items: servers start collapsed

    Each server block in Visible items starts collapsed so long server lists scroll less; counts stay in the header. Search expands matches; clearing search collapses again.

    Read in the docs →

  22. Agents: no outside AGENTS.md / CLAUDE.md

    Pi, Codex, and Grok no longer load global or compatibility instruction files on top of pm7Code's protocol — Codex uses a private CODEX_HOME without AGENTS.md; Grok drops ~/.claude paths. Claude Code already opted out by default.

    Read in the docs →

  23. Pinned only on top

    Project display → Display tab adds Pinned only on top: while a pinned section is open, those topics stay in the pin block and drop out of the list below. Collapse the section and they show in the project list again — nothing disappears.

    Read in the docs →

  24. Todo edit wraps long text

    Editing a todo in the right-sidebar Todo pane uses an auto-growing textarea instead of a single-line field, so long text stays visible. Enter saves, Escape cancels; todos remain one logical line when stored.

    Read in the docs →

  25. Window tabs: selection no longer snaps back

    Syncing window-tab settings across clients now pushes live tab-set state when this window still shows that set, instead of merging an older autosave snapshot — so your active topic does not revert a few seconds after you switched elsewhere.

    Read in the docs →

  26. Background tabs pause git polls

    Hidden WebApp tabs skip background git and worktree-pending polls until you focus them again, and the engine coalesces duplicate pending scans — smoother with many tabs open and fewer hollow orange Push rings from timed-out scans.

    Read in the docs →

  27. Topic note moves to the right sidebar

    The Note button in the right sidebar (after Todo) opens a pane for the active main-view topic — same tab.note field as Topic settings, 1000 characters with a counter, no placeholder. The NOTE pill and sticky overlay in the CView header are gone; a yellow dot on Note replaces the old has-note pill. Assistant-session notes stay in Entity Settings only. Note font settings still live under Appearance.

    Read in the docs →

  28. Your slash commands: same cards and search as built-ins

    Settings → Agents → Prompts → Commands: your own commands now use the same collapsible card as built-ins — collapsed shows name and description, open shows the edit fields. The Commands search bar filters your commands by name, description, and prompt text.

    Read in the docs →

  29. Built-in slash prompts in Dutch

    Bundled text for /check-fresh, /check-with-*, /map-codebase, /pause, /remember, /image-tool, and /skillify is Dutch and no longer forces English at the end. Shell strings and schema stay technical English; stale English overrides that match the old default follow the new Dutch bundle on save. Your Language Directive is unchanged.

    Read in the docs →

  30. Dedicated Build & Deploy topic

    Project Settings adds a Build & Deploy tab: opt in with a project checkbox, edit Deploy procedure, and mark one topic as the Build & Deploy owner (with confirmation when taking the role from another topic). That topic shows a rocket in the sidebar; every turn gets a Build policy row in Prompt Context (none, work, or build). Work topics hand over; only the Build topic releases and deploys on the default branch when you ask.

    Read in the docs →

  31. Unlanded work advisory on the Build topic

    Before deploy work, the Build topic can receive an Unlanded work prompt block listing other topics whose worktrees still have commits not on the base branch (or that the check is still running). The agent should name those topics and let you land in the app first — it does not merge for you.

    Read in the docs →

  32. New projects: empty default Project prompt

    Fresh projects seed Project-prompt.md from an empty template — no built-in Finalize, publish, and deploy section. Put release steps in Deploy procedure or your own Project prompt. Existing project prompts are unchanged.

    Read in the docs →

  33. Visible items: held parent checkboxes and sync across clients

    Checkboxes in Visible items now match what the sidebar actually shows. When a parent ROOT or group is hidden, child rows show a dimmed held check with a tooltip; click reveals the parent chain. Visibility on the same window tab merges across clients so an unrelated view change elsewhere does not wipe a hide or show you just made.

    Read in the docs →

  34. Window tabs opened with ?tab= keep their tab across reloads

    Open an instance with ?tab=<title> and that window tab stays selected for this session across reloads. If the tab briefly disappears from the account without a tombstone, the first sync restores your held tab instead of treating it as stale local data. A tab closed elsewhere (tombstone) stays closed; holds are per tab set and clear on account change.

    Read in the docs →

  35. Claude auth errors: send again instead of restart

    When Claude returns 401 during a token refresh race, pm7Code tells you to send the message again in this session — not to restart (there is no Restart button, and Start new session would drop context). When login has truly expired, run claude and /login once in a terminal, then send again; your conversation context stays.

    Read in the docs →

  36. Project display: hide projects inside groups

    Visible items now lists every project inside a group with its own checkbox, per window tab. A group stays the master switch; Hide on a project drops it from the sidebar, search, pickers, and tab badges for this tab only. Open Project display from Tab Settings or the window-tab Settings menu.

    Read in the docs →

  37. Pasted screenshots follow the prompt's machine

    Paste a screenshot into the prompt and pm7Code uploads it to that tab's engine. If the turn goes to another machine later, the app re-uploads the remembered bytes and rewrites the path before send. Failed relay blocks the turn with a clear error; max paste size is 20 MB.

    Read in the docs →

  38. Move project runs in the background

    Start move closes the wizard and keeps copying on a background job. Progress lives on the project row; Show Move Progress or the chip reopens it, Hide does not stop it. One move at a time; this window blocks new work on that project while it moves. Quit or reload asks first; you get a notification when done unless you are already watching progress.

    Read in the docs →

  39. Window tab groups

    Turn a tab into a group tab that hides its members from the bar. Click the title for the active, last-used, or first member; use the chevron for the list. Right-click to make, move, rename, or ungroup. Groups sync with window tabs — older clients that drop unknown fields can clear groups until everything is updated.

    Read in the docs →

  40. Claude Code: default reasoning effort

    Settings → Agents → Claude Code adds Default reasoning effort (empty = Claude Code default; Low through Extra High). It is machine-owned like other engine agent settings. Precedence is session override, then per-model in the picker, then this default; Use default in the picker clears per-model so Settings applies. New and restarted sessions and the CView agent pill use the same resolver.

    Read in the docs →

  41. Neighbor review: five-minute consult cap

    Each neighbor-agent consult now stops after five minutes if the buddy does not answer, instead of blocking your question indefinitely.

    Read in the docs →

  42. Interrupted turns stay interrupted after engine stop

    If the engine stops while a turn is still in flight, that turn is not marked completed. After restart it still shows as interrupted instead of a false checkmark.

  43. Title bar: open the project on GitHub

    When Project Settings includes a GitHub URL, a GitHub button sits next to the project URL in the title bar. It opens the repo page on GitHub (clone URLs are normalized), using Settings → Open in GitHub with when set — the same target as Git menu Open on GitHub.

    Read in the docs →

  44. Sidebar: gray icon for every living worktree

    Topics with an isolated worktree — even a clean one — show a gray branching icon after the topic name. That is separate from the orange Push dot (work Push would take). The icon appears as soon as the engine finishes init or attach with a worktree, with the sidebar poll as fallback.

    Read in the docs →

  45. Git indicators ignore uncommitted .pm7-code churn

    After Push or Auto Update, the project git dot and worktree Push controls no longer stay orange just because the engine rewrote .pm7-code on every turn. Status, Show Diff, dirty counts, and Push file totals use the same exclusion as Push and Auto Update commits; Reset still keeps engine state, and delete still blocks unsafe discard when only engine state would be lost.

    Read in the docs →

  46. Worktree menu: Reset to base

    The worktree status menu replaces Clean up with Reset to {baseBranch}. After confirmation it restores this worktree to the live local base — dropping the topic's commits, tracked edits, and new untracked files while keeping node_modules, .pm7-code, and ignored seeded files. Git keeps a backup ref; the conversation is untouched. Sleeping worktrees are removed from Visualise Worktrees instead.

    Read in the docs →

  47. Gateway dialog and one collecting engine

    Gateway opens as a draggable dialog over the workspace with health alerts, request-share meters, Refresh/Close, and 1/7/30-day data. Desktop and WebApp both ask configured engines (not the laptop shell), pick the longest-collecting engine, and warn when another engine fails or also collects — that history is not included.

    Read in the docs →

  48. Machine-owned agent settings: save safety

    On desktop, opening Agents → General asks the keeper again after the server list exists and re-fills gateway and engine-owned fields from that round. Save refuses if the keeper did not answer or answered after the form was filled — close Settings and reopen instead. Account sync omits engine-owned keys while a keeper is active.

    Read in the docs →

  49. Desktop title bar: memory pill

    The desktop title bar shows live memory as the sum of all Electron processes, with a per-process proof panel on click. The WebApp hides it because a browser cannot measure app memory; the misleading local open-shell counter is gone now that shells run on engines.

    Read in the docs →

  50. Install Status asks each agent engine (Playwright & Remotion)

    Settings → Agents → Agent Browser and Remotion no longer measure or install on the window machine. Install Status lists one row per machine with CLI, npm, and browser-or-runtime badges; Check status on a row runs deep, Check all machines is a shallow overview. Nothing runs when you open the tab. Unreachable engines show an error, not “not installed.” Installs run on that engine on the same PATH as agent CLIs, with readable failure text. Works in the WebApp.

    Read in the docs →

  51. CLI binary card on agent settings tabs

    Each agent tab (e.g. Codex) has a CLI binary block: which binary is on every machine that runs agents, Check version, and update on the machine you choose — not on the window. Same split as Install Status: engine reachable, agent known, binary installed. Shares data with Agents → Versions.

    Read in the docs →

  52. Machine-owned settings: same keeper routing in desktop and WebApp

    Status, read, merge, and adopt for agent engine settings now share one engineConfig lookup in both clients so they cannot disagree about the keeper. An unreachable keeper is an error, not “nobody keeps them.” Two machines both claiming main is reported as a conflict.

    Read in the docs →

  53. CView keeps the agent header when a turn starts with a tool card

    A turn that begins with a tool or card message still shows avatar and agent name. Nested rows inside an Agent group card still hide redundant headers.

  54. Local gateway for Claude, Codex, and Grok + Gateway usage view

    Settings → Agents → General has Local gateway: set address and gateway key, then route Claude, Codex, and/or Grok separately (new sessions only). Optional key from the gateway config on the agent machine; Collect usage + management key feed the Gateway view — open it from the sidebar usage menu. Counts are what this gateway observed, not all pm7-Code traffic.

    Read in the docs →

  55. Agent gateway settings are machine-owned

    Gateway and other agent engine settings belong to the machine that runs agents, not your account. One machine can keep them for all; standalone machines can adopt. The Where these settings live block shows main, member, or standalone.

    Read in the docs →

  56. Files pane: Add to .gitignore

    In a git project, right-click a file or folder for Add to .gitignore — an anchored line in the project root .gitignore. The header notice shows Added or Already in .gitignore and warns when git still tracks the path.

    Read in the docs →

  57. Topic work state: reworded duplicate lines are not re-appended

    When the semantic judge is available, appends to decisions, rejected, progress, or verification can skip a line the record already holds in other words — so the cap does not drop older decisions. On doubt or failure, the line is kept as before.

    Read in the docs →

  58. Background Bash task notifications stay on their tool card

    A completed background Bash (or matching tool) task no longer shows up as a fake subagent message with orange indent. Output lands on the Bash card; Monitor endings are not misclassified as subagent traffic.

  59. Memory conflict and semantic duplicate

    Memory proposals can be judged semantically: covered duplicates are not stored again (card outcome duplicate); conflicts are still saved, linked with contradicts provenance, and shown as conflict with Saved — contradicts an existing memory. Unclear or failed checks still write by default; conflicts do not auto-remove the older item.

    Read in the docs →

  60. Git Diff, Pull, and Auto Update on remote engines

    For projects on another machine's engine or in the WebApp, Show Diff, Pull, Auto Update, Open on GitHub, Copy URL, and Preview Diff run on that project's engine instead of the desktop's local git — fixing false Everything is up to date when the repo lives elsewhere.

    Read in the docs →

  61. Files pane project search

    The magnifying-glass button opens a Search files dialog on the project engine: find file or folder names or text inside files, with match case, whole word, optional subfolders, and type globs. Results use the same right-click menu as the tree; View from a content line opens the file at that line. Stop cancels an in-flight search.

    Read in the docs →

  62. Files pane: context menu for every file action

    A normal click on a file no longer opens anything — only folders expand. Use the context menu for View, Copy path, Get info, and Edit as text. View and Edit share one draggable dialog (read-only View with markdown Preview; Edit saves via the engine with conflict detection).

    Read in the docs →

  63. Files pane filter is client-side at the project root

    The filter field under the Files header now narrows only the loaded names at the project root (case-insensitive), not a recursive engine search. Use Search files for project-wide name or content search.

    Read in the docs →

  64. Bold text stays visible in chat on the WebApp

    Strong and bold text in chat no longer looks washed out when the Light chat font weight is enabled in the WebApp.

  65. Sessions start in repos with no commits yet

    A git repo with no commits no longer fails worktree isolation at session start. The session runs in the project folder with a warning banner; after the first commit the same topic stays in the base and new topics can isolate in a worktree.

    Read in the docs →

  66. Topic work state

    Each topic keeps durable work state — goal, decisions, next steps — so a new session in the same topic receives a bounded summary on its start turn instead of relying on the transcript alone.

    Read in the docs →

  67. Memory engine apply and bilingual recall

    The session engine applies memory proposals even when the Memory panel is closed. The Memory card shows the outcome. Recall matches Dutch and English spellings, and short follow-ups use the topic work state for context.

    Read in the docs →

  68. Clearer Push stop when the base checkout is dirty

    Push can stop at the base stage when uncommitted files there would be overwritten by the merge, with a clearer message and no partial change. When only .pm7-code is involved, the message points at .gitignore and git rm --cached.

    Read in the docs →

  69. Expired sign-in is treated as signed out

    An expired auth token no longer leaves you in a half-logged-in state. The message is: Your sign-in has expired. Sign in again to continue. The Projects sidebar can name an identity failure and offer Sign in again when the server is reachable but cannot verify you.

    Read in the docs →

  70. TopicStartRequest — agent asks to start a topic

    Agents can emit a fenced TopicStartRequest block; pm7Code shows a CView card with Start and Reject (never auto-run). After Start the new topic runs in the background, the prompt leaves immediately, you stay on the source topic, and the card offers Open topic. Optional project, newProject, agent, and waitFor: true for a waiting marker plus the first-turn answer delivered back while a client is open.

    Read in the docs →

  71. Header New Session (+) blocked on unmerged work before the menu

    Clicking the header New Session control (+) now runs the same unmerged-work guard as Start new session here before the menu opens. If blocked, the Unmerged work in this topic dialog appears and the menu stays closed.

    Read in the docs →

  72. Leftover General Assistant sessions hidden and marked like the Assistant topic

    Earlier sessions of the General Assistant topic — same topic slot after Start a New Session in the Assistant column — are hidden from the Projects sidebar by default and show 🤖 instead of the agent icon. Use Show → Assistant to reveal them.

    Read in the docs →

  73. Worktree menu file counts ready when you open it

    The worktree status control refreshes about every ten seconds with the full summary — status plus outgoing and incoming file lists — so the orange and brown count pills are already filled when you click the dot, without waiting for an extra fetch.

    Read in the docs →

  74. Conversation history stays in the project folder for worktree topics

    A topic's durable session mirror always lives under the project folder (.pm7-code/sessions/), not inside its worktree. Releasing or pruning a worktree never drops the conversation; older worktree copies fold back into the project folder when the topic next starts.

    Read in the docs →

  75. Files pane in the right sidebar

    The right sidebar header now has three panes — Assistant, Browser, and Files. Files shows a lazy folder tree of the active project's directory (not the topic worktree), reads via the project engine, and opens files in the preview overlay. Without an active topic, files are not clickable.

    Read in the docs →

  76. Push syncs when behind and offers Resolve with agent on conflict

    When the worktree is behind the base, Push syncs first (snapshotting and restoring uncommitted work on conflict) and only stops on a real merge conflict that names the files. That stop offers Resolve with agent: a task to the topic's own agent to merge the base, resolve by hand, keep your intent, and not push — you push afterwards. While a CORE build runs on the checkout, Push waits for it to finish.

    Read in the docs →

  77. Start new session here blocked on unmerged worktree work

    Replacing a topic in place with Start new session here is refused while the worktree still has work Push would take, or while the engine cannot judge or is unreachable. The dialog title is Unmerged work in this topic; only OK — no Continue anyway. Use Push to master from the worktree menu, or Fork Topic / New topic to start beside it.

    Read in the docs →

  78. Push indicator replaces the agent icon on the topic row

    The orange Push dot now takes the place of the agent icon on the left of the topic row (not a corner badge). The row also gets an orange border — solid when work is pending, dotted when the engine could not judge. Filled dot means Push would take work; hollow ring means unknown, never treated as clean.

    Read in the docs →

  79. Path claims only show up when they overlap

    The permanent Claims in dit project panel is gone from the message area. Claims from other sessions now appear only in the overlap warning strip, which gets a Release button per row. Your own claim can be released from the worktree status menu. Claims are looked up by project, so worktree topics see the same overlap as the base checkout.

    Read in the docs →

  80. Visualise Worktrees from the server menu

    Open Visualise Worktrees from the server menu to see every registered worktree on that engine — one block per base checkout, with workspace project names on that base and a project name on each card. From the project menu the view is scoped to that workspace project; worktrees from other projects in the same folder or without a known topic are counted separately, not silently dropped.

    Read in the docs →

  81. Orange Push dots and Push filter in the Projects sidebar

    Topics with work Push would take show a filled orange dot at the top-left of the row; a hollow ring means the engine could not judge — never treated as clean. The Show menu and filter bar add Push to master as an AND squeeze (Push + 🔔 = waiting topics that also need push). Enabling Push auto-reveals parked topics that still need push.

    Read in the docs →

  82. Active Tab Background colour

    Theme settings now include Active Tab Background — a theme-scoped colour for every window tab. Set it under Settings → Appearance in the colour theme cards.

    Read in the docs →

  83. Title bar picks up tab status when the tab bar is hidden

    When the window tab bar is off, the build and agent-version status pill moves into the title bar so a running build stays visible. The tab switcher there shows the current window-tab title with a chevron instead of the static label TABS.

    Read in the docs →

  84. Unified git-dot colours (project + topic worktree)

    Project and topic worktree status now share one colour scheme: gray while loading, blue spinner during an action, red on git error, brown when behind the reference (pull or sync first), orange for own work not shared yet, green when clean and even. Own work (orange) wins over behind (brown).

    Read in the docs →

  85. Worktree menu redesign

    The worktree status menu header shows the branch plus up to two file-count pills — orange N for own files not in the live base, brown ↓N for files the base has that this worktree lacks. Actions are Sync with {base}, Preview changes, Push to {base}, and Clean up…. When behind-only, Preview shows incoming via Sync. Preview is disabled when the list is empty; Push only when there is own work; Sync and Push are disabled while an agent turn is active.

    Read in the docs →

  86. Push to base: local base is source of truth

    Push treats the local base checkout as source of truth: it pulls/merges origin into the local base first (plain merge, no stash; conflict aborts), then merges the worktree, then best-effort push to origin. A failed push keeps the local merge.

    Read in the docs →

  87. Automatic worktree release on park or archive

    Parked topics, 48h idle sleep, archive, and delete release the worktree automatically only when nothing would be lost — no dirty or untracked files, no commits the base lacks, no differing seeded ignored file such as .env. Otherwise the worktree stays as sleeping and appears under Clean up…. Resuming a released parked topic gets a fresh worktree.

    Read in the docs →

  88. Visualise Worktrees hides equal worktrees by default

    The Worktrees dialog hides live worktrees that are equal to the base by default. Checkbox Ook worktrees gelijk aan de basis tonen reveals them; when some are hidden the UI shows how many. Worktrees without usable git status stay visible.

    Read in the docs →

  89. Worktree status dot + Preview changes

    Isolated sessions show a coloured status dot in the title bar (and CView header) instead of the old ⎇ pill — gray while loading, green when clean and even with the base, orange when dirty or ahead/behind. Click the dot for Sync met the live base branch, Preview changes (git-diff overlay vs merge-base), Mergen naar that base branch, and Opruimen… (Colours and menu labels were refined later the same day — brown/orange scheme; Sync with / Push to / Clean up.)

    Read in the docs →

  90. Click a worktree card to open its topic

    In Visualise Worktrees, live and history cards are clickable when this client knows the session: click jumps to that topic and closes the dialog. Archived topics open as a read-only preview instead of restoring silently. Unknown sessions stay inert.

    Read in the docs →

  91. Hotfix on new topic (every agent)

    When a project's Worktree-isolatie is always, the new topic form offers Hotfix direct in basis so you can skip a worktree from the start — not only when starting a New Session. Hotfix, worktree, claim paths, and intent choices are applied for every agent (Claude, Codex, Pi, and the others).

    Read in the docs →

  92. Visualise Worktrees in the project menu

    Open the project menu (project name in the CView header or title bar) and choose Visualise Worktrees — next to Project Settings, not in the worktree status menu. The Worktrees dialog shows the base checkout, live worktrees as cards (current session highlighted), and landed or discarded entries under Historiek. Works even when the current session has no worktree.

    Read in the docs →

  93. Worktree merge keeps the branch

    After a successful merge the worktree and branch stay: the checkout resets to the new base HEAD so you can land again. Only Opruimen removes a worktree. (Status display later moved to a title-bar dot — see 10 September 2026.)

    Read in the docs →

  94. New Session waits for worktree setting

    Start a New Session stays disabled while the project's worktree isolation setting is still loading, so the Hotfix direct in basis checkbox cannot be missed when it appears a moment later. The Hotfix row is a plain checkbox without a plus icon.

    Read in the docs →

  95. Worktree isolation for writing sessions

    Project settings now include Worktree-isolatie (off, opt-in, or always — default always). Writing sessions get their own git worktree on a pm7/s- branch. New Session can set Hotfix direct in basis or Geïsoleerd werken, plus optional intent and claim paths. Session actions (sync, preview, merge, prune) live in the worktree status control — see docs for current UI.

    Read in the docs →

  96. Path claims across parallel sessions

    Sessions register edit paths with a pm7_claim block so overlapping work is visible early. CView shows an overlap warning strip and a Claims in dit project panel with Release. Optional intent text appears as a coordination banner.

    Read in the docs →

  97. Agents can propose publishing a skill

    When an agent creates or edits a skill, it can propose a publish. CView shows a Skill Publish card with Publish and Reject. pm7Code snapshots the skill at proposal time, so approval publishes that version even if the local cache was rematerialized later. Your account stays the source of truth; if the account copy changed after the proposal, publish is refused until the agent proposes again. The outcome survives a reload — published, rejected, or failed.

    Read in the docs →

  98. Language Directive keeps English technical terms

    Settings → Agents → Prompts → Language Directive still defaults to Dutch on every turn, but established IT terms now stay in English instead of being translated into Dutch calques. Accounts that pinned the older default via Reset to default are upgraded automatically.

    Read in the docs →

  99. Sessions (was Parley)

    The user-facing conversation is now called a Session, with its own PM7 Session ID. Start a new Session replaces Start a new Parley. The technical provider connection behind it is an Agent session.

    Read in the docs →

  100. Settings Backup

    Settings has a Settings Backup section. Set a private Git remote URL; Export Now saves settings to your account first, then commits and pushes every setting, prompt, memory, skill, and theme to that repo. Automatic Backup (on by default when a URL is set) exports shortly after every settings save. Secret findings always block automatic exports — only Export Now can override them with Export anyway. The last automatic backup status is shown on the device.

    Read in the docs →

  101. Prompt files use the project Folder

    Project settings no longer have a separate Home folder. Prompt files live in pm7-Code/ inside the project's Folder — the same directory as the project.

    Read in the docs →

  102. General Assistant can talk about Settings

    The General Assistant now gets a compact per-turn context block for pm7-Code as a product — prompts, protocols, skills, slash commands, themes, colors, and other Settings — as a source map, without shipping secrets. Topic and Project assistants still take priority.

    Read in the docs →

  103. Default agent renamed to pm7

    The built-in pm7Code agent is now labeled pm7 in the UI (previously shown as pm7-Code). Behavior is unchanged — only the display name.

    Read in the docs →

  104. App Themes on the WebApp

    Named look-and-layout profiles let you switch color theme, fonts, panel visibility, and sidebar or Assistant width from Settings → Appearance. Preview a theme with ?theme=<id-or-name> in the URL. The desktop macOS app does not use App Themes.

    Read in the docs →

  105. Assistant column in the right sidebar

    The right sidebar can show an Assistant (General, Project, or Topic scope) or a Browser view. Right-click a topic and choose Use as Assistant to pin it. This is a workspace panel, not a seventh native agent.

    Read in the docs →