Add --no-save flag to skip auto-save on new and resume commands

This commit is contained in:
Chris Wanstrath 2026-02-19 11:18:28 -08:00
parent 8b276036bf
commit d791fb1866

View File

@ -85,8 +85,9 @@ program
.argument("[branch]", "branch name or prompt (if it contains spaces)") .argument("[branch]", "branch name or prompt (if it contains spaces)")
.argument("[prompt]", "initial prompt for Claude") .argument("[prompt]", "initial prompt for Claude")
.option("-p, --print <prompt>", "run Claude in non-interactive mode with -p") .option("-p, --print <prompt>", "run Claude in non-interactive mode with -p")
.option("-n, --no-save", "skip auto-save after Claude exits")
.description("Create a new session and launch Claude") .description("Create a new session and launch Claude")
.action(async (branch: string | undefined, prompt: string | undefined, opts: { print?: string }) => { .action(async (branch: string | undefined, prompt: string | undefined, opts: { print?: string; save?: boolean }) => {
// No branch given — derive from -p prompt // No branch given — derive from -p prompt
if (!branch && opts.print) { if (!branch && opts.print) {
branch = branchFromPrompt(opts.print) branch = branchFromPrompt(opts.print)
@ -143,7 +144,7 @@ program
await vm.claude(worktreeAbs, { prompt, print: opts.print }) await vm.claude(worktreeAbs, { prompt, print: opts.print })
} }
await saveChanges(worktreeAbs) if (opts.save !== false) await saveChanges(worktreeAbs)
}) })
// ── sandlot list ────────────────────────────────────────────────────── // ── sandlot list ──────────────────────────────────────────────────────
@ -181,8 +182,9 @@ program
.argument("<branch>", "branch name") .argument("<branch>", "branch name")
.argument("[prompt]", "initial prompt for Claude") .argument("[prompt]", "initial prompt for Claude")
.option("-p, --print <prompt>", "run Claude in non-interactive mode with -p") .option("-p, --print <prompt>", "run Claude in non-interactive mode with -p")
.option("-n, --no-save", "skip auto-save after Claude exits")
.description("Re-enter an existing session") .description("Re-enter an existing session")
.action(async (branch: string, prompt: string | undefined, opts: { print?: string }) => { .action(async (branch: string, prompt: string | undefined, opts: { print?: string; save?: boolean }) => {
const root = await git.repoRoot() const root = await git.repoRoot()
const session = await state.getSession(root, branch) const session = await state.getSession(root, branch)
@ -207,6 +209,8 @@ program
spin.succeed("Session ready") spin.succeed("Session ready")
await vm.claude(session.worktree, { prompt, print: opts.print }) await vm.claude(session.worktree, { prompt, print: opts.print })
} }
if (opts.save !== false) await saveChanges(session.worktree)
}) })
// ── sandlot close <branch> ─────────────────────────────────────────── // ── sandlot close <branch> ───────────────────────────────────────────