From d27dbfe062b18f832acf958357e175ed18ab98d9 Mon Sep 17 00:00:00 2001 From: Mike Harris Date: Wed, 18 Feb 2026 11:56:37 -0500 Subject: [PATCH] fix(cli): session list --max-count not honored, shows too few sessions (#14162) --- packages/opencode/src/cli/cmd/session.ts | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/packages/opencode/src/cli/cmd/session.ts b/packages/opencode/src/cli/cmd/session.ts index 1803f8495..8239b0bcb 100644 --- a/packages/opencode/src/cli/cmd/session.ts +++ b/packages/opencode/src/cli/cmd/session.ts @@ -85,26 +85,17 @@ export const SessionListCommand = cmd({ }, handler: async (args) => { await bootstrap(process.cwd(), async () => { - const sessions = [] - for await (const session of Session.list()) { - if (!session.parentID) { - sessions.push(session) - } - } + const sessions = [...Session.list({ roots: true, limit: args.maxCount })] - sessions.sort((a, b) => b.time.updated - a.time.updated) - - const limitedSessions = args.maxCount ? sessions.slice(0, args.maxCount) : sessions - - if (limitedSessions.length === 0) { + if (sessions.length === 0) { return } let output: string if (args.format === "json") { - output = formatSessionJSON(limitedSessions) + output = formatSessionJSON(sessions) } else { - output = formatSessionTable(limitedSessions) + output = formatSessionTable(sessions) } const shouldPaginate = process.stdout.isTTY && !args.maxCount && args.format === "table"