Checkpoint callback error "save best only"  in .keras format.
Hi @Kaczmarekrr ,

I have replicated the issue with TF2.13 and nightly versions as well.Please refer attached [gist>2.12v](https://colab.sandbox.google.com/gist/SuryanarayanaY/a080d947da2e344994f069fb2efca53e/61999.ipynb#scrollTo=J9xnCutLA-Pl) for same.

It seems a regression issue and same code works fine in TF2.12v as per attached [gist-2.12v](https://colab.sandbox.google.com/gist/SuryanarayanaY/88d7169b5d4362f3f900e221f01578c8/61999-tf-21-12v.ipynb).

Basically in your workaround you are omitting the `options` argument which makes it workable for this case. If I am not wrong you might be adding the code in between if and else here shown in snap shot right? Please confirm.

<img width="729" alt="Screenshot 2023-09-29 at 5 35 41 PM" src="https://github.com/tensorflow/tensorflow/assets/116063290/b70b989f-a9ea-46f5-a2f3-4976cc480adf">




We will have a look into the issue and do needful fix. Thanks!

 Hi @SuryanarayanaY! Thanks for answer! 

Yes! This is exactly the place in callbacks.py
In my version:
```python
                            if self.verbose > 0:
                                io_utils.print_msg(
                                    f"\nEpoch {epoch + 1}: {self.monitor} "
                                    "improved "
                                    f"from {self.best:.5f} to {current:.5f}, "
                                    f"saving model to {filepath}"
                                )
                            self.best = current
                            if self.save_weights_only:
                                self.model.save_weights(
                                    filepath,
                                    overwrite=True,
                                    options=self._options,
                                )
                            elif filepath.endswith(".keras"):
                                self.model.save(filepath, overwrite=True)
                            else:
                                self.model.save(
                                    filepath,
                                    overwrite=True,
                                    options=self._options,
                                )
``` Hi @SuryanarayanaY and @Kaczmarekrr,

I came across this thread , Thank you, @SuryanarayanaY , for the temporary workaround. It's been helpful for my local needs.

From a broader perspective, it might be beneficial to consider a more generalized solution. Since the .keras format doesn't support certain arguments, it would be helpful if the TensorFlow library could have an internal check to omit unsupported arguments or throw a more descriptive error to inform users of the unsupported features.

The fact that this works in TF2.12 but not in the subsequent versions does suggest a regression issue, and while the local fix addresses the problem, it would be ideal to have an official patch to prevent such issues in future releases.

Thanks for your efforts in identifying and working on the issue! Hi @Kaczmarekrr , @Adesoji1 ,

The issue got fixed in `keras_core` nightly with the above commit. I have checked it and working fine now and attached [gist](https://colab.sandbox.google.com/gist/SuryanarayanaY/b7d7ab05ace5a555b2717e67f44f0092/61999-keras_core.ipynb) for reference. Same will be reflected in **Keras3** also.

Thank you!
 This issue is stale because it has been open for 7 days with no activity. It will be closed if no further activity occurs. Thank you. This issue was closed because it has been inactive for 7 days since being marked as stale. Please reopen if you'd like to work on this further. Are you satisfied with the resolution of your issue?
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=Yes&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/61999">Yes</a>
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=No&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/61999">No</a>

### Issue type

Bug

### Have you reproduced the bug with TensorFlow Nightly?

No

### Source

binary

### TensorFlow version

2.13

### Custom code

Yes

### OS platform and distribution

Ubuntu 22.02

### Mobile device

_No response_

### Python version

3.10

### Bazel version

_No response_

### GCC/compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current behavior?

Saving best model only with callback with .keras format as the whole model which works well when saving every epoch.

Locally I fixed this adding elif option to save best only as in the version with this parameter is False.

```python
 elif filepath.endswith(".keras"):
    self.model.save(filepath, overwrite=True)
```

### Standalone code to reproduce the issue

```shell
https://colab.research.google.com/drive/1e_imdDFEm-5qARqSbXm8-5JxZP43V_wg?usp=sharing
```


### Relevant log output

```shell
Traceback (most recent call last):
  File "/home/r.kaczmarek/repos/diarization-poc/tmp_train.py", line 67, in <module>
    model.fit(
  File "/home/r.kaczmarek/miniconda3/envs/tf-diarization/lib/python3.10/site-packages/keras/src/utils/traceback_utils.py", line 70, in error_handler
    raise e.with_traceback(filtered_tb) from None
  File "/home/r.kaczmarek/miniconda3/envs/tf-diarization/lib/python3.10/site-packages/keras/src/saving/saving_api.py", line 142, in save_model
    raise ValueError(
ValueError: The following argument(s) are not supported with the native Keras format: ['options']
```
