You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenWork relies on OpenCode for session isolation, but OpenWork still owns the path identity it passes into OpenCode. Today, Starter/local workspace behavior is improved but not yet proven cross-OS safe because path resolution and persisted workspace identity can still depend on path formatting details.
This leaves us vulnerable to cases where the same logical workspace is represented differently across app bootstrap, restart, workspace creation, or New session, for example:
~/OpenWork/starter
/Users/name/OpenWork/starter
non-canonical paths with ..
Windows separator/casing variants
When that happens, OpenCode may correctly isolate sessions by the directory it receives, but OpenWork may accidentally scope history to the wrong directory or split one logical workspace into multiple identities.
Goal
Make Starter/local workspace session scoping fully cross-OS safe and provably stable across:
first-run bootstrap
app restart
New session
workspace creation/switching
persisted workspace state migration
What remains
Create a single OS-aware source of truth for resolving the Starter workspace path to an absolute canonical path.
Ensure all local workspace flows use that resolved path instead of raw ~/... strings.
Never persist or compare raw tilde paths; only persist normalized/canonical absolute paths.
Migrate existing saved local workspace state that may contain tilde or non-canonical paths.
Verify workspace identity is derived from normalized canonical paths only.
Run real desktop verification on macOS, Linux, and Windows for Starter/local workspace session isolation.
Test matrix
Run on each OS:
first launch bootstraps Starter
create a session in Starter
quit/relaunch app and verify Starter history remains
click New session in Starter and verify it stays attached to Starter
create another workspace and verify Starter history remains
switch away/back and verify history remains
verify migration from old persisted state with tilde/non-canonical paths
Notes
OpenCode already provides session isolation for the directory/project scope it receives.
The remaining risk is in OpenWork's path resolution, persistence, and reconnect behavior.
Problem
OpenWork relies on OpenCode for session isolation, but OpenWork still owns the path identity it passes into OpenCode. Today, Starter/local workspace behavior is improved but not yet proven cross-OS safe because path resolution and persisted workspace identity can still depend on path formatting details.
This leaves us vulnerable to cases where the same logical workspace is represented differently across app bootstrap, restart, workspace creation, or
New session, for example:~/OpenWork/starter/Users/name/OpenWork/starter..When that happens, OpenCode may correctly isolate sessions by the directory it receives, but OpenWork may accidentally scope history to the wrong directory or split one logical workspace into multiple identities.
Goal
Make Starter/local workspace session scoping fully cross-OS safe and provably stable across:
New sessionWhat remains
~/...strings.Test matrix
Run on each OS:
New sessionin Starter and verify it stays attached to StarterNotes