Conversation
Chrome locks its profile files (Cookies, GPUPersistentCache, etc.) on Windows. When checkpoints are enabled, the pre-write git add -A blocks indefinitely on these locked files, freezing every write_file call for minutes. Add 'chrome_cdp_profile/' and 'agent-browser-chrome-*/' to DEFAULT_EXCLUDES so git add -A skips them. These directories are created by the browser automation tool (hermes-tools) and should never be checkpointed. Fixes: write_file freeze on Windows when checkpoints are enabled
teknium1
reviewed
Jul 30, 2026
teknium1
left a comment
Collaborator
There was a problem hiding this comment.
Thanks for tracing this Windows checkpoint failure to browser profile files.
Problems
tools/checkpoint_manager.py:438-439returns for every existing shared checkpoint store before the onlyinfo/excludewrite attools/checkpoint_manager.py:482-484. The added defaults therefore affect new stores only, while affected existing installations retain the old exclude file.- Existing project checkpoints load their prior tree into a persistent index at
tools/checkpoint_manager.py:1029-1034before thegit add -Aattools/checkpoint_manager.py:1048-1051. Ignore rules do not remove paths that were already tracked, so prior browser-profile snapshots need migration/cleanup too.
Suggested changes
- Refresh the managed exclude file for existing stores and remove matching already-tracked profile paths before staging; add behavioral tests for both an existing store/index and the two patterns.
- Please preserve LF line endings: the PR currently appears as +1678/-1675 for a three-line logical edit, which makes salvage unnecessarily risky.
Automated hermes-sweeper review.
| "Thumbs.db", | ||
| # Logs | ||
| "*.log", | ||
| # Chrome / CDP browser profiles (locked files break git add -A on Windows) |
Collaborator
There was a problem hiding this comment.
These defaults are only written for a newly initialized store: _init_store() returns at current main tools/checkpoint_manager.py:438-439 when store/HEAD exists, before the info/exclude write at lines 482-484. Please add an idempotent existing-store update path, otherwise the Windows installations already experiencing this issue retain the old exclude file.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
When
checkpoints.enabled: true, everywrite_filetriggers agit add -Ain the working directory before creating a snapshot. On Windows, Chrome locks its profile files (Cookies,GPUPersistentCache/cache.db, etc.) while running. Thegit add -Ablocks indefinitely on these locked files, freezingwrite_filefor minutes.Relevant logs:
Fix
Add
chrome_cdp_profile/andagent-browser-chrome-*/toDEFAULT_EXCLUDESincheckpoint_manager.py. These directories are created by the browser automation tool and should never be checkpointed.Testing
write_filefreeze on a Windows machine with Chrome running andcheckpoints.enabled: true