TitleLauncher.logURL is ~/Library/Caches/Sake/build/title-<id>.log, and a title's id is unique only within its own bottle: TitleStore.identifier(for:) checks it against that bottle's sake-titles.json and nothing else. So two bottles that each have Steam in them get the same id, steam, and write the same title-steam.log. LogFile truncates on open, so each run erases the other bottle's log.
Seen on 2026-09-29: default and ex both have a steam title, and title-steam.log held a single run, the one from ex. Nothing from default was left in it.
Two more logs have the same shape. These were found by reading the code, not seen to happen:
WineTool.logURL(in:) is tool-<tool>.log, so winecfg in one bottle truncates the log of winecfg in another.
InstallerRunner.logURL is install-<installer>.log, so the same installer run into two bottles shares one file.
bottle-<name>.log and import-<name>.log already carry the bottle's name and are not affected. Two runs at once, Steam open in both bottles, would write the same file concurrently; that has not been tried.
TitleLauncher.logURLis~/Library/Caches/Sake/build/title-<id>.log, and a title's id is unique only within its own bottle:TitleStore.identifier(for:)checks it against that bottle'ssake-titles.jsonand nothing else. So two bottles that each have Steam in them get the same id,steam, and write the sametitle-steam.log.LogFiletruncates on open, so each run erases the other bottle's log.Seen on 2026-09-29:
defaultandexboth have asteamtitle, andtitle-steam.logheld a single run, the one fromex. Nothing fromdefaultwas left in it.Two more logs have the same shape. These were found by reading the code, not seen to happen:
WineTool.logURL(in:)istool-<tool>.log, sowinecfgin one bottle truncates the log ofwinecfgin another.InstallerRunner.logURLisinstall-<installer>.log, so the same installer run into two bottles shares one file.bottle-<name>.logandimport-<name>.logalready carry the bottle's name and are not affected. Two runs at once, Steam open in both bottles, would write the same file concurrently; that has not been tried.