The design-tokens.json File
One file behaves differently from the rest of the repo. When you open design-tokens.json in the Code tab, Bezel shows your current tokens, the ones you've been editing, not the version committed to GitHub.
That's deliberate. It's the file your build consumes, so seeing your live state is more useful than seeing a snapshot you may have already moved past.
"Local changes not saved to your repo"
When your tokens differ from what's committed, an amber bar says so. It's not an error; it's the normal state after any edit. It's telling you the repo hasn't caught up.
Getting your tokens into the repo
Bezel can't push to GitHub. There's no commit, branch, or pull request coming from the app, so closing that gap is a step you take:
The MCP server is the least manual route. Your coding agent pulls the current tokens and writes the file for you:
Sync my Bezel tokens.
See MCP Workflows.
Download gives you the file directly. Save it to your repo root and commit it.
Copy puts the JSON on your clipboard, which is handy for pasting over the file in your own editor.
Once the file is in place, bezel build turns it into CSS variables. The Quick Start walks through that end to end.
Bezel's repo access is read-only today. Until that changes, the file lands in your repo through one of the routes above.
This is separate from publishing
Publishing a version and updating your repo are different things. Publishing creates a versioned snapshot inside Bezel that anyone can download later. It doesn't touch your repository, and updating your repository doesn't create a version.