New Issue Checklist
Issue Description
Expected behavior
Using match_nuke with a given certificate_id should only delete this certificate (+ provisioning profiles depending on it), but should not delete any other certificate.
Actual behavior
When using match_nuke with a certificate_id (in this example, certificate ID 1111111111), match_nuke also deletes other certificates (here, certificate 2222222222).
According to the docs, match_nuke has a certificate_id parameter, but it doesn't seem to be used in match_nuke.
I also noticed that parameters of match (https://docs.fastlane.tools/actions/match/) are the same ones as parameters of match_nuke (https://docs.fastlane.tools/actions/match_nuke/), is that intended ?
Command executed
match_nuke(
platform: 'ios',
type: 'appstore',
readonly: false,
force: true,
certificate_id: '1111111111'
)
Complete output when running fastlane, including the stack trace and command used
Details
[10:06:35]: ------------------------
[10:06:35]: --- Step: match_nuke ---
[10:06:35]: ------------------------
[10:06:35]: Going to revoke your 'distribution' certificate type and provisioning profiles
[10:06:35]: Creating authorization token for App Store Connect API
[10:06:35]: Cloning remote git repo...
[10:06:35]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
[10:06:35]: Checking out branch master...
[10:06:35]: 🔓 Successfully decrypted certificates repo
+---------------------------------------------------------------------------------------------------------------------------------------+
| Summary for match nuke 2.233.1 |
+----------------------------------------+----------------------------------------------------------------------------------------------+
| platform | ios |
| type | appstore |
| readonly | false |
| force | true |
| certificate_id | 1111111111 |
| generate_apple_certs | true |
| skip_provisioning_profiles | false |
| api_key_path | REDACTED |
| username | REDACTED |
| team_id | REDACTED |
| storage_mode | git |
| git_url | REDACTED |
| git_branch | master |
| shallow_clone | false |
| clone_branch_directly | false |
| skip_google_cloud_account_confirmation | false |
| s3_skip_encryption | false |
| gitlab_host | REDACTED |
| keychain_name | login.keychain |
| keychain_password | ******** |
| force_for_new_devices | false |
| include_mac_in_profiles | false |
| include_all_certificates | false |
| force_for_new_certificates | false |
| skip_confirmation | false |
| safe_remove_certs | false |
| skip_docs | false |
| derive_catalyst_app_identifier | false |
| fail_on_name_taken | false |
| skip_certificate_matching | false |
| skip_set_partition_list | false |
| force_legacy_encryption | false |
| verbose | false |
+----------------------------------------+----------------------------------------------------------------------------------------------+
[10:06:35]: Fetching certificates and profiles...
+----------------------------------------------------------------------+
| Certificates that are going to be revoked |
+------------------------------+------------+-------------+------------+
| Name | ID | Type | Expires |
+------------------------------+------------+-------------+------------+
| Apple Distribution: COMPANY | 1111111111 | Certificate | 2027-05-05 |
| Apple Distribution: COMPANY | 2222222222 | Certificate | 2027-05-05 |
+------------------------------+------------+-------------+------------+
+---------------------------------------------------------------------------------------+
| Provisioning Profiles that are going to be revoked |
+------------------------------------+------------+--------+---------------+------------+
| Name | ID | Status | Type | Expires |
+------------------------------------+------------+--------+---------------+------------+
REDACTED
+------------------------------------+------------+--------+---------------+------------+
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Files that are going to be deleted |
| Git Repo [REDACTED] |
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| Type | File Name |
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
| distribution cert | 1111111111.cer |
| distribution cert | 2222222222.cer |
| distribution cert | 1111111111.p12 |
| distribution cert | 2222222222.p12 |
| appstore profile | AppStore_com.REDACTED |
| appstore profile | AppStore_com.REDACTED |
| appstore profile | AppStore_com.REDACTED |
| appstore profile | AppStore_com.REDACTED |
| adhoc profile | AdHoc_com.REDACTED |
| adhoc profile | AdHoc_com.REDACTED |
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
10:06:39: Are you sure you want to completely delete and revoke all the
10:06:39: certificates and delete provisioning profiles listed above? (y/n)
10:06:39: ---
10:06:39: Hint: You can use --safe_remove_certs option to remove certificates
10:06:39: from repository without revoking them.
10:06:39: Do you really want to nuke everything listed above? (y/n)
n
[10:08:10]: Cancelled nuking #thanks 🏠 👨 👩 👧
+---------------------------------+
| fastlane summary |
+------+------------+-------------+
| Step | Action | Time (in s) |
+------+------------+-------------+
| 1 | match_nuke | 95 |
+------+------------+-------------+
[10:08:10]: fastlane.tools finished successfully 🎉
Environment
Details
[✔] 🚀
[10:21:09]: Generating fastlane environment output, this might take a few seconds...
✅ fastlane environment ✅
Stack
| Key |
Value |
| OS |
26.4.1 |
| Ruby |
3.2.9 |
| Bundler? |
true |
| Git |
git version 2.50.1 (Apple Git-155) |
| Installation Source |
~/.rbenv/versions/3.2.9/bin/fastlane |
| Host |
macOS 26.4.1 (25E253) |
| Ruby Lib Dir |
~/.rbenv/versions/3.2.9/lib |
| OpenSSL Version |
OpenSSL 3.5.2 5 Aug 2025 |
| Is contained |
false |
| Is homebrew |
false |
| Is installed via Fabric.app |
false |
| Xcode Path |
/Applications/Xcode.app/Contents/Developer/ |
| Xcode Version |
26.3 |
| Swift Version |
6.2.4 |
System Locale
| Variable |
Value |
|
| LANG |
en_US.UTF-8 |
✅ |
| LC_ALL |
en_US.UTF-8 |
✅ |
| LANGUAGE |
|
|
fastlane files:
`./fastlane/Fastfile`
import 'lanes/test_nuke_with_certificate_id.rb' # File from which i call match_nuke
`./fastlane/Appfile`
# app_identifier("[[APP_IDENTIFIER]]") # The bundle identifier of your app
# apple_id("[[APPLE_ID]]") # Your Apple Developer Portal username
# For more information about the Appfile, see:
# https://docs.fastlane.tools/advanced/#appfile
fastlane gems
| Gem |
Version |
Update-Status |
| fastlane |
2.233.1 |
✅ Up-To-Date |
Loaded fastlane plugins:
No plugins Loaded
Loaded gems
| Gem |
Version |
| error_highlight |
0.5.1 |
| did_you_mean |
1.6.3 |
| syntax_suggest |
1.1.0 |
| bundler |
2.6.9 |
| pathname |
0.2.1 |
| rake |
13.4.2 |
| CFPropertyList |
3.0.8 |
| abbrev |
0.1.2 |
| public_suffix |
7.0.5 |
| addressable |
2.9.0 |
| artifactory |
3.0.17 |
| ast |
2.4.3 |
| atomos |
0.1.3 |
| aws-eventstream |
1.4.0 |
| aws-partitions |
1.1244.0 |
| aws-sigv4 |
1.12.1 |
| base64 |
0.2.0 |
| bigdecimal |
4.1.2 |
| jmespath |
1.6.2 |
| logger |
1.7.0 |
| aws-sdk-core |
3.246.0 |
| aws-sdk-kms |
1.124.0 |
| aws-sdk-s3 |
1.220.0 |
| babosa |
1.0.4 |
| benchmark |
0.5.0 |
| claide |
1.1.0 |
| colored |
1.2 |
| colored2 |
3.1.2 |
| highline |
2.0.3 |
| commander |
4.6.0 |
| csv |
3.3.5 |
| declarative |
0.0.20 |
| digest-crc |
0.7.0 |
| domain_name |
0.6.20240107 |
| dotenv |
2.8.1 |
| emoji_regex |
3.2.3 |
| excon |
0.112.0 |
| faraday-em_http |
1.0.0 |
| faraday-em_synchrony |
1.0.1 |
| faraday-excon |
1.1.0 |
| faraday-httpclient |
1.0.1 |
| multipart-post |
2.4.1 |
| faraday-multipart |
1.2.0 |
| faraday-net_http |
1.0.2 |
| faraday-net_http_persistent |
1.2.0 |
| faraday-patron |
1.0.0 |
| faraday-rack |
1.0.0 |
| faraday-retry |
1.0.4 |
| ruby2_keywords |
0.0.5 |
| faraday |
1.10.5 |
| http-cookie |
1.0.8 |
| faraday-cookie_jar |
0.0.8 |
| faraday_middleware |
1.2.1 |
| fastimage |
2.4.1 |
| fastlane-sirp |
1.1.0 |
| gh_inspector |
1.1.3 |
| google-cloud-env |
2.1.1 |
| jwt |
2.10.2 |
| multi_json |
1.21.1 |
| os |
1.1.4 |
| signet |
0.21.0 |
| googleauth |
1.11.2 |
| mutex_m |
0.3.0 |
| httpclient |
2.9.0 |
| mini_mime |
1.1.5 |
| trailblazer-option |
0.1.2 |
| uber |
0.1.0 |
| representable |
3.2.0 |
| retriable |
3.4.1 |
| google-apis-core |
0.18.0 |
| google-apis-androidpublisher_v3 |
0.99.0 |
| google-apis-playcustomapp_v1 |
0.17.0 |
| google-apis-iamcredentials_v1 |
0.27.0 |
| google-apis-storage_v1 |
0.62.0 |
| google-cloud-errors |
1.6.0 |
| google-cloud-core |
1.8.0 |
| google-cloud-storage |
1.59.0 |
| json |
2.19.5 |
| mini_magick |
4.13.2 |
| naturally |
2.3.0 |
| nkf |
0.2.0 |
| optparse |
0.8.1 |
| ostruct |
0.6.3 |
| plist |
3.7.2 |
| rubyzip |
2.4.1 |
| security |
0.1.5 |
| simctl |
1.6.10 |
| terminal-notifier |
2.0.0 |
| unicode-display_width |
2.6.0 |
| terminal-table |
3.0.2 |
| tty-screen |
0.8.2 |
| tty-cursor |
0.7.1 |
| tty-spinner |
0.9.3 |
| word_wrap |
1.0.0 |
| nanaimo |
0.4.0 |
| rexml |
3.4.4 |
| xcodeproj |
1.27.0 |
| rouge |
3.28.0 |
| xcpretty |
0.4.1 |
| xcpretty-travis-formatter |
1.0.1 |
| language_server-protocol |
3.17.0.5 |
| lint_roller |
1.1.0 |
| parallel |
1.28.0 |
| racc |
1.8.1 |
| parser |
3.3.11.1 |
| prism |
1.9.0 |
| rainbow |
3.1.1 |
| regexp_parser |
2.11.3 |
| rubocop-ast |
1.49.1 |
| ruby-progressbar |
1.13.0 |
| rubocop |
1.86.0 |
generated on: 2026-05-05
New Issue Checklist
Issue Description
Expected behavior
Using
match_nukewith a givencertificate_idshould only delete this certificate (+ provisioning profiles depending on it), but should not delete any other certificate.Actual behavior
When using
match_nukewith acertificate_id(in this example, certificate ID1111111111),match_nukealso deletes other certificates (here, certificate2222222222).According to the docs,
match_nukehas acertificate_idparameter, but it doesn't seem to be used inmatch_nuke.I also noticed that parameters of match (https://docs.fastlane.tools/actions/match/) are the same ones as parameters of match_nuke (https://docs.fastlane.tools/actions/match_nuke/), is that intended ?
Command executed
Complete output when running fastlane, including the stack trace and command used
Details
Environment
Details