Skip to content

Commit ee4ea65

Browse files
noamzbrnoam-v
andauthored
fix: restore persisted model/agent when loading ACP session (anomalyco#7809)
Co-authored-by: noam-v <noam@bespo.ai>
1 parent bef1f66 commit ee4ea65

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

packages/opencode/src/acp/agent.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ export namespace ACP {
488488

489489
log.info("load_session", { sessionId, mcpServers: params.mcpServers.length })
490490

491-
const mode = await this.loadSessionMode({
491+
const result = await this.loadSessionMode({
492492
cwd: directory,
493493
mcpServers: params.mcpServers,
494494
sessionId,
@@ -509,12 +509,20 @@ export namespace ACP {
509509
return undefined
510510
})
511511

512+
const lastUser = messages?.findLast((m) => m.info.role === "user")?.info
513+
if (lastUser?.role === "user") {
514+
result.models.currentModelId = `${lastUser.model.providerID}/${lastUser.model.modelID}`
515+
if (result.modes.availableModes.some((m) => m.id === lastUser.agent)) {
516+
result.modes.currentModeId = lastUser.agent
517+
}
518+
}
519+
512520
for (const msg of messages ?? []) {
513521
log.debug("replay message", msg)
514522
await this.processMessage(msg)
515523
}
516524

517-
return mode
525+
return result
518526
} catch (e) {
519527
const error = MessageV2.fromError(e, {
520528
providerID: this.config.defaultModel?.providerID ?? "unknown",

0 commit comments

Comments
 (0)