CRAFT Tutorials · Advanced
Once GitHub is connected, saving your project online is a single sentence — and CRAFT is built to keep your private files off the internet while it does it. Here’s the everyday habit, how to confirm a save really landed, and what happens on the rare occasion a save is refused.
Before you start: this page assumes you’ve already connected GitHub to your project. If you haven’t, do that first — Set up GitHub to back up your CRAFT project (on a Windows PC) — then come back here for the day-to-day.
The one sentence that saves your work
After setup, you never touch Git commands or your token again. Saving your project to GitHub is just something you ask for:
Claude packages up what changed since your last save and sends that snapshot to your private repository — your offsite copy, brought up to date. There’s nothing to stage, commit, or push by hand; that’s all handled for you.
✓ You’ll know it worked when Claude confirms the save was pushed, and you can see the new version on GitHub (we’ll check that in a moment).
What “safely” actually means
“Safely” isn’t just a nice word here — it’s two specific protections that are on by design:
- Your secrets never leave your PC. Your
.craft-secretsfolder — the one holding your GitHub token — is excluded from every save. It stays local and is never uploaded, so your token can’t end up on GitHub. - Your token never goes through the chat. When Claude saves to GitHub, it reads the token from your private file directly — it doesn’t ask you to paste it, and it isn’t printed on screen. Anything typed into a chat can be stored by the AI provider, so CRAFT deliberately keeps the token out of it.
Good to know: the only manual moment in the whole GitHub story was the one-time token paste during setup. From here on, safe saving is automatic — you ask, and the protections come along for free.
Check the save landed
You don’t have to verify every save, but it’s worth knowing how — especially the first few times. Two easy ways:
- On GitHub. Open your repository and look at the most recent change — the time should match when you just asked Claude to save. Your files are there; your
.craft-secretsfolder is not. - Just ask. Claude can confirm what it pushed and when:
If you’d like to check yourself, open Git Bash (it comes with Git for Windows — search your Start menu for “Git Bash”), and from inside your project folder confirm GitHub has your latest version (this prints the most recent saved version online — not your token, not your files):
git fetch
git log origin/main --oneline -1
You’ll see one line — the most recent version GitHub has. If it matches the work you just saved, you’re backed up.
✓ You’ll know it worked when GitHub’s latest change lines up with your most recent save, and your private .craft-secrets folder is nowhere in the repository.
If a save is ever refused
Once in a while a push can be refused — most often because the copy on GitHub and the copy on your PC have drifted apart (for example, the project was also saved from another computer). This is a safety feature, not a failure: Git won’t quietly overwrite one with the other.
You don’t fix this by hand. Ask Claude to reconcile them, and it will safely bring the two copies together before saving — without throwing away your local work:
Even simpler: if you work on more than one computer, the next guide — Work across two devices — shows the habit that prevents this drift in the first place.
Make it a habit
The best backup is the one that happens without thinking about it. The easiest way to make GitHub saves routine is to fold them into how you already end a session:
That records where you left off and pushes it offsite in one step — so every session ends with your work safely on GitHub.
✓ That’s the payoff: a backup that costs you one sentence per session, with your token and secrets kept out of both the chat and the cloud.
Troubleshooting
- “Nothing was pushed” or the save did nothing — there may be no new changes since your last save, or the project isn’t connected to GitHub yet. Ask Claude to confirm the project is connected, then save again. (Not set up? See Set up GitHub.)
- An authentication error — your token may have expired or lost its Contents: Read and write permission. Create a fresh one and save it again (the token steps are in the setup guide).
- “Updates were rejected” / “unrelated histories” — that’s the drift case above. Ask Claude to re-sync safely and try again; your local work is preserved.
That’s safe saving on Windows: one sentence to back up, secrets kept off the internet, an easy way to confirm it landed, and a clean recovery if a save is ever refused. A good next step: Work across two devices — use that same GitHub backup to pick your project up on another computer.
