summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAriane Emory <[email protected]>2026-02-16 15:15:34 -0500
committerGitHub <[email protected]>2026-02-16 14:15:34 -0600
commitb0afdf6ea4c016c46762b649adc30c0456814a43 (patch)
treed4092d486a4f6cf67e954ec93a66c3fb10e1bff6
parentd8c25bfeb44771cc3a3ba17bf8de6ad2add9de2c (diff)
downloadopencode-b0afdf6ea4c016c46762b649adc30c0456814a43.tar.gz
opencode-b0afdf6ea4c016c46762b649adc30c0456814a43.zip
feat(cli): add session delete command (#13571)
-rw-r--r--.opencode/agent/translator.md1
-rw-r--r--packages/opencode/src/cli/cmd/session.ts26
2 files changed, 26 insertions, 1 deletions
diff --git a/.opencode/agent/translator.md b/.opencode/agent/translator.md
index dec6fa6c4..ad209a90c 100644
--- a/.opencode/agent/translator.md
+++ b/.opencode/agent/translator.md
@@ -359,6 +359,7 @@ opencode serve --hostname 0.0.0.0 --port 4096
opencode serve [--port <number>] [--hostname <string>] [--cors <origin>]
opencode session [command]
opencode session list
+opencode session delete <sessionID>
opencode stats
opencode uninstall
opencode upgrade
diff --git a/packages/opencode/src/cli/cmd/session.ts b/packages/opencode/src/cli/cmd/session.ts
index c6a1fd413..1803f8495 100644
--- a/packages/opencode/src/cli/cmd/session.ts
+++ b/packages/opencode/src/cli/cmd/session.ts
@@ -38,10 +38,34 @@ function pagerCmd(): string[] {
export const SessionCommand = cmd({
command: "session",
describe: "manage sessions",
- builder: (yargs: Argv) => yargs.command(SessionListCommand).demandCommand(),
+ builder: (yargs: Argv) => yargs.command(SessionListCommand).command(SessionDeleteCommand).demandCommand(),
async handler() {},
})
+export const SessionDeleteCommand = cmd({
+ command: "delete <sessionID>",
+ describe: "delete a session",
+ builder: (yargs: Argv) => {
+ return yargs.positional("sessionID", {
+ describe: "session ID to delete",
+ type: "string",
+ demandOption: true,
+ })
+ },
+ handler: async (args) => {
+ await bootstrap(process.cwd(), async () => {
+ try {
+ await Session.get(args.sessionID)
+ } catch {
+ UI.error(`Session not found: ${args.sessionID}`)
+ process.exit(1)
+ }
+ await Session.remove(args.sessionID)
+ UI.println(UI.Style.TEXT_SUCCESS_BOLD + `Session ${args.sessionID} deleted` + UI.Style.TEXT_NORMAL)
+ })
+ },
+})
+
export const SessionListCommand = cmd({
command: "list",
describe: "list sessions",