dev@local: ~/project — git
dev@local~/project$git fsck
fatal: pack has bad object
Diagnostics Translation
Git detected corruption inside one of its compressed data bundles (packfiles).
waiting for resolution...
HighVersion Control System

Reviewed for reference consistency: April 11, 2026

Code is Safe

SECURE

Git has paused the operation to protect your code. No data has been lost or corrupted.

What To Know

This integrity failure means Git read a packed repository object that no longer matches the checksum structure it expects.

Where Did It Fail?

Working Tree
Your local files
add
Staging Index
Prepared changes
commit
Local Repo
Commit history
push/fetch
Remote Server
GitHub/GitLab
The error involves the internal Git database or commit history structure.

Commands That Trigger This

$git fsck
Running (file system check) on an older project
$Trying to checkout a branch and Git failing with an object read error
Trying to checkout a branch and Git failing with an object read error

Technical Background

01

This is a critical integrity error. Git's cryptographic model ensures you cannot accidentally deploy corrupted code, so it strictly halts access to the bad packfile.

02

Recovering from pack corruption depends on whether another clean copy of the repository still exists, because Git no longer trusts the damaged packed data on disk.

Underlying Causes

Hardware failure (failing SSD or bad RAM) silently flipping bits
A crash or sudden power loss while Git was running a garbage collection (`git gc`)
Network corruption that wasn't caught during a fetch

Frequently Asked Questions

Unlikely. Pack corruption is almost always caused by hardware read/write failures or sudden power loss during a Git operation.

Related Git States