Summary
The split-pane / side-by-side session view in claude.ai/code (web) stopped rendering on ~2026-07-09 evening KST. It worked daily in the browser until then, and broke with no client-side change. The pane engine still ships in the web bundle and still persists state — only the render target was removed, so the feature silently degrades to opening a new browser tab.
Environment
- Google Chrome 150.0.0.0, macOS
- claude.ai/code in the browser (sessions hosted via a
claude rc Remote Control bridge)
- Max plan
Steps to reproduce
- Open claude.ai/code in Chrome and open a code session.
- Cmd+click another session in the sidebar (or attempt any split gesture).
Expected: the second session opens in a pane beside the current one (behavior until 2026-07-09).
Actual: a new browser tab opens; no second pane ever renders.
Diagnosis (from reading the live web bundle)
In the current web bundle (index-BZuhUp9E.js):
- The split gesture is gated by a
canSplit() that runs document.querySelector('.dframe-pane-host').
- On web, the dframe shell mounts
.dframe-root / .dframe-sidebar / .dframe-content but no .dframe-pane-host — so canSplit() returns false and the handler falls through to window.open (the new tab).
.dframe-pane-host / .dframe-pane-col appear only inside that query — the component that renders the pane host is no longer mounted (or shipped) in the web build.
- Meanwhile the pane store (
desktop-frame.paneStore.v1 → extraPanesByMode) and the full pane logic (addPane, movePane, setMaxColumns) still ship and still persist state across reloads: injecting a valid second-pane entry persists but never renders.
So the regression is precisely: the pane-host container stopped being rendered in the web dframe shell as of the ~2026-07-09 release. Everything else needed for panes still ships in the web bundle.
Notes
Summary
The split-pane / side-by-side session view in claude.ai/code (web) stopped rendering on ~2026-07-09 evening KST. It worked daily in the browser until then, and broke with no client-side change. The pane engine still ships in the web bundle and still persists state — only the render target was removed, so the feature silently degrades to opening a new browser tab.
Environment
claude rcRemote Control bridge)Steps to reproduce
Expected: the second session opens in a pane beside the current one (behavior until 2026-07-09).
Actual: a new browser tab opens; no second pane ever renders.
Diagnosis (from reading the live web bundle)
In the current web bundle (
index-BZuhUp9E.js):canSplit()that runsdocument.querySelector('.dframe-pane-host')..dframe-root/.dframe-sidebar/.dframe-contentbut no.dframe-pane-host— socanSplit()returns false and the handler falls through towindow.open(the new tab)..dframe-pane-host/.dframe-pane-colappear only inside that query — the component that renders the pane host is no longer mounted (or shipped) in the web build.desktop-frame.paneStore.v1→extraPanesByMode) and the full pane logic (addPane,movePane,setMaxColumns) still ship and still persist state across reloads: injecting a valid second-pane entry persists but never renders.So the regression is precisely: the pane-host container stopped being rendered in the web dframe shell as of the ~2026-07-09 release. Everything else needed for panes still ships in the web bundle.
Notes