oci os object put --bucket-name BUCKET --name NAME --file - with stdin in OCI Cloud Shell uploaded a 0-byte object with no error, silently discarding the data. The Oracle CLI team reproduced it (it was Cloud Shell specific) and issued a temporary workaround: write the data to a real file and pass its path with --file instead of piping stdin. The underlying bug was fixed officially in oci-cli 3.4.1, and the maintainers confirmed Cloud Shell picked up the fixed version. To check you are safe, run oci --version and make sure it is 3.4.1 or newer.