CLI: --delete-obsolete has no effect when uploading source files

I have an iOS App which is localized and uses Crowdin. If I delete a localized .strings file (e.g. Temp.strings) and run crowdin upload --delete-obsolete afterwards, Temp.strings is not deleted in crowdin.
Instead, if I run crowdin download, now I get a Downloaded translations don't match the current project configuration. The translations for the following sources will be omitted warning for the deleted file (since it still exists in crowdin):

I’m using Crowdin CLI 3.19.0

Any help is appreciated!

Hello @finn.ebeling

Obsolete file - is the file, that previously was “under” source pattern, and was uploaded into Crowdin, but, right now, locally (on your PC for example) there’s no such file, or it no longer matches the source pattern. There are no delays for a system to “recognize” the change, it is done instantly.

As a right-now solution, you can delete the file using this command:

crowdin file delete <file> [CONFIG OPTIONS] [OPTIONS]

Please share your project ID and the configuration file so I can check logs from my end and provide a more detailed explanation in case of need. You can do it privately, via Direct message.

Some additional information about general CLI usage can be found here → FAQ | Crowdin CLI

@Dima Thanks for your reply. Sorry to ask, but I’m not sure where to find the option for direct messages? Is it available for all members?

Yes, you can click on my profile picture, and there will be a mailbox button “Message”

If you are struggling with it, feel free to send us an email to

Thanks, I have sent you an email…