Persist and restore desktop pane layout across sessions (workspace layout templates)
Persist and restore desktop pane layout across sessions (workspace layout templates)
Area: Desktop app (macOS)
App version: 1.24012.1
Context — re-filing per the bot's request
This is a fresh issue for a still-relevant request, as the stale-bot explicitly asked:
- #55092 ("[FEATURE] Persist panel layout settings between sessions") — closed
NOT_PLANNED, only because it went inactive. The closing comment: *"Closing for now
— inactive for too long. Please open a new issue if this is still relevant."* A user
had commented asking for exactly this shortly before it was auto-closed.
- #43262 ("Workspace-level session save/restore") — also closed NOT_PLANNED (stale).
Neither was rejected on merit. Seemed ignored and closed by GH autobots Re-filing to keep the request alive maybe get others to chime in here.
Summary
The desktop app lets me drag panes (chat, diff, browser, terminal, file, plan, tasks,
subagent) into a grid I like (Nice work on that by the way!), but that arrangement is not reliably arranged on every new
session — every new chat — it drops me back to a default layout, so I re-arrange all
the panes by hand at the start of each session. This is the a big friction in
using the app as a daily IDE.
I want the app to work like a real IDE: set up my panel grid once, and have every future
session open with that same layout.
The layout appears to live only in in-memory state in electron probably in a session pane uuid by pane uuid
it is likely not saved to state as they are dynamically dragable.
This seems consistent with #55092 having gone unaddressed.
Proposed behavior
- Persist the current pane layout (which panes are open, their split
positions (& maybe fraction sizes?), and dock arrangement) to disk on change — e.g. a layout key in
window-state.json or a dedicated session-layout-state.json.
- Arrange automatically on new sessions and app default view at blank session chat or restart.
- (Stretch) Named layout templates: save a layout as a named default and apply it to
all future sessions, so it's reusable across projects — the "IDE workspace" experience.
Ideally expressed as human-editable JSON under ~/.claude/ (like settings.json) so
it can be version-controlled and shared across machines.
Acceptance criteria
- Arrange panes, quit and relaunch the app → the same layout comes back.
- Open a brand-new session → it opens with my saved/default layout, not the built-in default.
- The layout survives an app update.
Why it matters
For anyone using the desktop app as their primary dev environment, re-building the pane
grid at the start of every session is a real, repeated tax. Layout persistence is table
stakes for every IDE (VS Code, JetBrains, etc.). This would close the gap.