Description
Description
On Windows, new sessions persist directory with backslashes (e.g. E:\smart_database), while the web app and HTTP API often pass directory with forward slashes (e.g. E:/smart_database from URLs or the SDK).
Session list filters use exact string equality on SessionTable.directory, so requests like GET /session?directory=E:/smart_database&roots=true return [] even when matching rows exist in SQLite. The sidebar session list appears empty for that project.
Expected behavior
Session list returns sessions regardless of whether the query path uses / or \ on Windows.
Actual behavior
Forward-slash and backslash forms of the same Windows path do not match; session list is empty.
Reproduction
- On Windows, create sessions in a project (directory stored as
E:\smart_database)
- Query sessions via web app or API with
directory=E:/smart_database
- Observe empty session list despite sessions existing in the database
Plugins
No response
OpenCode version
No response
Steps to reproduce
No response
Screenshot and/or share link
No response
Operating System
win10
Terminal
No response
Description
Description
On Windows, new sessions persist
directorywith backslashes (e.g.E:\smart_database), while the web app and HTTP API often pass directory with forward slashes (e.g.E:/smart_databasefrom URLs or the SDK).Session list filters use exact string equality on
SessionTable.directory, so requests likeGET /session?directory=E:/smart_database&roots=truereturn[]even when matching rows exist in SQLite. The sidebar session list appears empty for that project.Expected behavior
Session list returns sessions regardless of whether the query path uses
/or\on Windows.Actual behavior
Forward-slash and backslash forms of the same Windows path do not match; session list is empty.
Reproduction
E:\smart_database)directory=E:/smart_databasePlugins
No response
OpenCode version
No response
Steps to reproduce
No response
Screenshot and/or share link
No response
Operating System
win10
Terminal
No response