Branch not appearing in git
What you're seeing
Why it happens
How to fix it
branchId — writing YAML to a branch syncs it to git the same way clicking Create pull request does.Omni is creating branches from git PRs you didn’t initiate
What you're seeing
Why it happens
How to fix it
Merge not reflected in Omni
What you're seeing
Why it happens
- The PR was created outside of Omni. This happens when the PR was opened directly in git rather than initiated from the model IDE or API, so the branch has no corresponding Omni branch. When the merge webhook arrives, Omni looks for its branch, finds nothing, and pushes its current model state back to your base branch instead. This resets the base branch to Omni’s internal state and deletes any model YAML that was added only in git.
- The change was pushed directly without a PR. A direct push or fast-forward to the base branch generates no PR webhook, so Omni is never alerted to the change.
How to fix it
- Create the branch in Omni
- Make your changes in the branch
- Click Create PR to sync the branch to git,
- Open and merge the PR through your git provider
Corrective commit overwrites changes
What you're seeing
Why it happens
Omni Model Webhook Service. Git history is preserved, but any changes bundled with the bad YAML are also reverted.Omni rejects syntactically invalid YAML only. It accepts semantically broken code — for example, a join that references a field that doesn’t exist — but those problems will surface as model validator errors rather than triggering a corrective commit.How to fix it
OWNERS.yaml files under omni/<model>/) may be removed when Omni regenerates its projection. If you’re using code ownership tooling, keep those files at the root of your omni/ directory rather than nested inside model folders.Merging a PR reverted changes from another branch
What you're seeing
Why it happens
How to fix it
- Update stale PRs before merging them. Push a new commit to the PR branch or merge the base branch into it (for example, GitHub’s Update branch button). This sends Omni a webhook that re-syncs the Omni branch against the current shared model. Alternatively, open the branch in the model IDE, save a change, and click Update pull request.
- Keep branches short-lived. The longer a PR stays open while other changes merge, the more likely its Omni branch is carrying stale copies of shared files.
- Review the merge in model history. After merging a long-lived PR, open the model history and check the Webhook merge entry’s diff. If it changed files the PR shouldn’t have touched, restore or re-apply promptly.
Webhook misconfiguration
What you're seeing
Why it happens
- Wrong content type: The webhook content type must be set to
application/json. This mainly affects GitHub, where new webhooks default toapplication/x-www-form-urlencoded— Omni can’t parse payloads sent with that content type. Other providers send JSON payloads by default; see your provider’s setup guide for the exact webhook configuration. - Wrong event types: The webhook must be configured to send pull request events only. Push events should be turned off — Omni doesn’t react to them, and leaving push events enabled adds noise without benefit.
- Wrong payload URL: The payload URL must reference your specific Omni model ID. If the model ID in the URL doesn’t match the model you’re trying to integrate, events will be ignored.
- Wrong or missing webhook secret: The webhook secret in your git provider must match the secret generated by Omni during setup. A mismatch causes Omni to reject incoming events.
How to fix it
Confirm the payload URL
Confirm the content type
application/json.Confirm the event types
Confirm the webhook secret
Schema refresh commits on default branch
What you're seeing
main) outside of the PR workflow. This may conflict with branch protection rules that require PRs for all changes to the base branch.Why it happens
How to fix it
- Use Option 1 if you need to satisfy strict branch protection rules with no bypass exceptions.
- Use Option 2 if you want schema refreshes to stay direct while keeping human developers gated behind pull requests.
- Use Option 3 if you want to keep Omni’s writes off your protected
mainbranch entirely.
Option 1: Enable pull request required with system syncs
Option 1: Enable pull request required with system syncs
Option 2: Add a dedicated Omni machine user to your bypass list
Option 2: Add a dedicated Omni machine user to your bypass list
Option 3: Use a dedicated Omni-owned base branch
Option 3: Use a dedicated Omni-owned base branch
main — for example, omni-prod — and leave that branch unprotected.Omni’s pushes land there without issue and main is never touched.Follower not picking up changes
This scenario applies to models configured with git follower mode.What you're seeing
Why it happens
-
Changes were made without going through a PR merge. Like the leader, a follower only reacts to PR merge events on the branch it’s configured to watch. If a change was pushed or committed directly to that branch without going through a PR merge, the follower won’t detect it.
If you’re using a release branch as a validation step before merging to your follower’s watched branch, make sure the PR targets the correct watched branch. A PR merged to
mainwon’t trigger a follower that’s watching aprodbranch. - Schema mismatches between the leader and follower schema model. The follower reconciles the git projection against its own schema model to determine what belongs in the shared layer. If the follower’s database schema differs from the leader’s, the follower may accept the change but surface errors when users query topics that reference fields missing from its schema. For example, tables are missing or are named differently.
How to fix it
- To resolve an event trigger issue, confirm the change reached the follower’s watched branch through a PR merge. If you pushed directly, open a PR from that branch to the watched branch and merge it.
- To resolve a schema mismatch issue, verify that the database schemas on the leader and follower are identical. The follower needs to be able to account for every field referenced in the git projection using its own schema model. If schemas have diverged, run a schema refresh on the follower after confirming the underlying database matches, then trigger the follower by merging a PR to its watched branch.
Recovering from a broken model state
What you're seeing
Why it happens
How to fix it
- In Omni, open your model in the IDE.
- Click the icon in the left navigation.
- Find the entry that represents the last known good state, then restore to that version.
- Once Omni’s model state is correct, it will push that state to git on the next sync, bringing the repository back into alignment.
Git authentication failed
What you're seeing
"Git authentication failed" error when Omni attempts to connect to your git repository.Why it happens
- Expired or revoked tokens
- Insufficient permissions
- Incorrect token format, including a partial token, extra characters, or whitespaces
How to fix it
- Confirm your token is still valid. If the token has expired or been revoked, generate a new one with the appropriate permissions.
- Verify the token’s permissions. The following permissions are required:
- GitHub - Contents (read and write), Metadata (read-only), and Pull requests (read and write)
- GitLab -
api,read_repository, andwrite_repositoryscopes
- Check the token’s formatting. Ensure you’ve copied the entire token without any extra spaces or characters.
- Open your model in the IDE.
- Navigate to Model > Git settings.
- Click Change token.
- Enter the new token and save.
Git push rejected
What you're seeing
Why it happens
How to fix it

