KeepGoing
Resume projects after days or weeks away by showing what you were doing, what you planned next, and relevant context.
The Problem
When you step away from a project, for days, weeks, or longer, it's hard to remember:
- What you were doing
- What you planned to do next
- What files you were working in
KeepGoing saves lightweight session checkpoints that capture your context, so you can pick up where you left off with minimal mental effort.
Features
Free Features
Everything you need to capture context and resume your projects.
Session Checkpoints
Save what you did, what's next, and any blockers. Each checkpoint automatically captures your current git branch and touched files.
- Save Session Checkpoint - Record a detailed checkpoint with summary, next steps, and blockers
- Quick Checkpoint (
Cmd+Shift+K / Ctrl+Shift+K) - Save a checkpoint in one step
- Annotate Checkpoint - Add notes to an existing checkpoint
Auto-Checkpoints
KeepGoing can automatically save checkpoints so you never forget:
- On inactivity - Saves after 75 minutes of inactivity (configurable)
- At session boundaries - Commits and branch switches are accumulated and consolidated into a single smart checkpoint when your session ends, rather than creating one checkpoint per commit or branch switch
Decision Detection (Paid Add-on)
Unlock with a one-time purchase at keepgoing.dev/add-ons.
KeepGoing watches your commits for high-signal changes and prompts you to record a short decision note ("what" + "why") so important context is never lost.
When you commit code that touches infrastructure, auth, or migrations, KeepGoing shows a prompt:
"KeepGoing: Decision detected, commit touched .github/workflows. Record why?"
- Add rationale: enter a brief explanation. It is saved alongside the commit evidence (hash, message, changed files).
- Later: the draft is stored automatically. The "why" stays blank until you decide to add it.
What triggers a decision prompt:
- Commits touching
.github/workflows/, fly.toml, Dockerfile*, docker-compose*
- Infra files:
terraform/, k8s/, supabase/
- Auth/OIDC/OAuth config files or redirect/origin paths
- Database migration files
- Conventional commit types:
ci, build, chore, infra, ops, auth, oauth, oidc, migration, db
- Commit message keywords:
deploy, migrate, redirect, oauth, oidc, postgres, docker, and more
What does not trigger a prompt:
- Lock file updates
- Generated or dist files
- Tailwind CSS regeneration
- Favicon and UI asset changes
To disable decision detection, set keepgoing.enableDecisionDetection to false in your settings.
Activating a License
- Purchase a license at keepgoing.dev/add-ons
- Open the command palette and run KeepGoing: Activate License
- Paste your license key and press Enter
Your license activates on one device at a time. To move it, run KeepGoing: Deactivate License first, then activate on the new device.
Session Recall
When you return to a project, instantly see what you were working on:
- Show Last Session - View your last checkpoint in a modal
- View Full History - Browse all past checkpoints
- Open Touched Files - Reopen the files from your last session in one click
- Sidebar View - Always-visible summary in the activity bar
The activity bar sidebar includes three panels:
- Momentum — Quick summary of your last checkpoint, next step, and branch
- Decisions — High-signal commits with category and rationale (Decision Detection add-on)
- Live Session — Live AI agent session tasks in real time
MCP Integration
KeepGoing includes an MCP (Model Context Protocol) server that lets AI coding assistants access your session checkpoints. This gives tools like Claude Code and GitHub Copilot awareness of what you were working on, so they can help you resume where you left off.
- Setup Claude Code - Registers the KeepGoing MCP server with Claude Code via the CLI
- Setup GitHub Copilot - Adds the KeepGoing MCP server to your project's
.vscode/mcp.json
Both commands register the MCP server for the respective tool. For the full setup experience, run curl -fsSL https://keepgoing.dev/install.sh | bash.
Local-First
- All data stays in your workspace (
.keepgoing/ folder)
- No accounts, no cloud, no backend
- Human-readable JSON files you can inspect or version control
- Works offline, always
Data Storage
Session data is stored in a .keepgoing/ folder inside your workspace:
.keepgoing/
meta.json - Project identity (projectId, timestamps)
sessions.json - All session checkpoints
state.json - Last session state for quick access
By default, .keepgoing/ is automatically added to .gitignore. You can disable this in settings to share context with your team.
Commands
| Command |
Keybinding |
Description |
| KeepGoing: Save Session Checkpoint |
|
Prompts for summary, next step, and optional blocker |
| KeepGoing: Quick Checkpoint |
Cmd+Shift+K / Ctrl+Shift+K |
Save a checkpoint in one step |
| KeepGoing: Show Last Session |
|
View the last checkpoint in a modal |
| KeepGoing: View Full History |
|
Browse all past checkpoints |
| KeepGoing: Open Touched Files |
|
Reopen files from the last session |
| KeepGoing: Annotate Checkpoint |
|
Add notes to an existing checkpoint |
| KeepGoing: Setup Claude Code |
|
Install the KeepGoing MCP server for Claude Code |
| KeepGoing: Setup GitHub Copilot |
|
Install the KeepGoing MCP server for GitHub Copilot |
| KeepGoing: Continue On |
|
Export your current development context as a formatted prompt for another AI tool |
| KeepGoing: Activate License |
|
Activate your license key |
| KeepGoing: Deactivate License |
|
Deactivate license on this device |
Settings
| Setting |
Default |
Description |
keepgoing.inactivityTimeoutMinutes |
75 |
Minutes of inactivity before an auto-checkpoint |
keepgoing.checkpointOnCommit |
true |
(Deprecated) Previously created a checkpoint per commit. Commits are now automatically accumulated into smart checkpoints at session boundaries. This setting has no effect and can be removed from your config. |
keepgoing.checkpointOnBranchSwitch |
true |
(Deprecated) Previously created a checkpoint per branch switch. Branch switches are now automatically accumulated into smart checkpoints at session boundaries. This setting has no effect and can be removed from your config. |
keepgoing.periodicCheckpointMinutes |
180 |
Minutes between periodic checkpoint writes during long sessions. Set to 0 to disable. |
keepgoing.coldStartThresholdHours |
24 |
Hours since last checkpoint before showing a "Resume" prompt in the status bar |
keepgoing.githubImportEnabled |
true |
When enabled, KeepGoing can import recent GitHub merged-PR activity into a local checkpoint after a period of inactivity |
keepgoing.enableWorkReminders |
false |
Show reminders to save checkpoints |
keepgoing.workReminderMinutes |
45 |
Minutes between work reminders |
keepgoing.addToGitignore |
true |
Auto-add .keepgoing/ to .gitignore |
keepgoing.enableDecisionDetection |
true |
Auto-detect high-signal commits and prompt for rationale |
keepgoing.licenseKey |
"" |
Your KeepGoing license key |
Requirements
- Visual Studio Code v1.85.0 or later
Contributing
Found a bug or have a feature request? Open an issue on our community repo.
License
MIT