Skip to main content

Push Troubleshooting

Push Troubleshooting

Support Guide

Resolve missing remotes, authentication failures, rejected pushes, backup skips, and tag synchronization problems.

Commandcusty push

Category

Git Operations

Quick Command

custy push [OPTIONS]

troubleshootingremotespush rejection

Overview

Read the first Git or remote response and identify the exact destination before retrying. A partially completed multi-remote push needs destination-by- destination verification.


No Valid Main Remote Was Found

Terminal
bash
git remote -v

Add or correct the intended remote using normal Git configuration, then run Custy dry-run again.


Authentication Failed

Run custy configure credentials status, then test the remote with Git or custy configure credentials test --remote origin. Repair SSH keys, credential-manager state, mounted external files, token environment variables, PAT scopes, or provider access without placing token values in Custy configuration or documentation.

For Docker, remember that the host credential-manager session is not inherited. Use native SSH, an approved interactive prompt, or the optional protected external fallback described in the credential guide.


Git Appears to Freeze After Starting a Push

When no managed or native credential succeeds and interactive_fallback = true, Git waits for terminal input. Current Custy versions disable Rich rendering for hidden direct-command pipelines, suspend visible Run progress, release captured streams, and explain that an HTTPS Password prompt expects a PAT. If custy run push works but custy push still loses its prompt, rebuild or pull the image containing the hidden-progress fix. Pressing Enter twice submits empty credentials.


A Non-Interactive Push Stops Instead of Prompting

This prevents an unattended job from hanging. Keep fail_non_interactive = true and supply the configured file or environment source to the process. Dry-run does not read a token or contact the remote.


The Push Was Rejected

Read the remote response. Common causes include protected branches, non-fast- forward history, required reviews, and missing permissions. Do not force-push unless repository policy explicitly permits it.


Backup Synchronization Was Skipped

Check the current branch prefix and whether sync_backup is enabled. Custy can skip backup remotes for non-critical branches.


A Tag Was Not Pushed

Confirm the tag exists locally, was passed with --tag, and was not disabled by --skip-tag or commit-type eligibility rules.


A Configured Group Was Not Selected

Check precedence. An explicit --remote selects one destination, all_remote = true selects all configured groups, and otherwise tool.custy.git.push_to selects main, backup, or all. Backup targets can still be skipped on non-critical branches.