DocsTroubleshooting & FAQ

Reference

Troubleshooting & FAQ

Fixes for rejected keys, rate limiting, AI model errors, rejected screenshots and failed build uploads, plus where to find logs.

Find the message you're seeing below. If it isn't listed, use Help ▸ Report a Bug… (see Support).

Reading an error#

When App Store Connect refuses something, Slipway rewrites Apple's answer as a plain sentence that says what went wrong and what to do, for example "Name must be at least 2 characters." or "What's New can't be changed right now. Apple locks it while the version is live, in review, or not yet editable." Apple's codes and field paths stay out of the message.

Every error toast also has Why?. Click it and Slipway asks your AI provider to explain the error in a few sentences and say what to do next, naming the tab or field. It sends the toast text, Apple's technical answer (status, codes, messages, the request method and path) and one line about where you are (app, platform, version, tab). Your App Store Connect key is never included. Why? needs Slipway Pro and an AI key in Settings ▸ AI; on the Free plan it opens the Pro sheet.

Connecting a key#

"App Store Connect returned 401 — the key may be revoked, or the Issuer ID doesn’t match."#

Apple rejected the signed token. Check these, in order:

  1. Issuer ID: copy it again from Users and Access ▸ Integrations ▸ Team Keys in App Store Connect. Each team has its own.
  2. Key ID: make sure it matches the .p8 file. Slipway fills it in from the file name AuthKey_<KEYID>.p8, so if you renamed the file, type the Key ID by hand.
  3. Revoked key: check that the key still appears as active in App Store Connect. A revoked key can't be restored; generate a new one.
  4. Mac clock: tokens are only valid for a short time, so check that your Mac's date and time are set automatically.

"Could not read the .p8 as a PKCS#8 / ES256 key."#

Use the unmodified file Apple gave you, which starts with -----BEGIN PRIVATE KEY-----. Apple lets you download a key only once, so if the file is lost or damaged, revoke the key and generate a new one. See Create an App Store Connect API key.

Rate limiting (HTTP 429)#

Slipway paces itself to about five requests per second. If Apple still answers with 429 or a server error, Slipway retries up to five times. It waits as long as Apple's Retry-After header asks, or backs off exponentially, capped at 60 seconds. While it waits, you'll see one toast per burst:

Note — "App Store Connect is rate-limiting — retrying in 8s"

You don't need to do anything. If Apple keeps throttling after all retries, the action fails with "App Store Connect is rate-limiting this key (HTTP 429) and is still throttling after retries. Wait a minute and try again." The limit applies to each key, so another tool using the same key can trigger it.

Loading and syncing#

  • A "Couldn’t load: …" toast, or a "Couldn’t load this version." banner. The message after the colon is Apple's error. Click Retry in the banner, or switch versions and come back. A permissions error means the key's role doesn't allow that call.
  • A "Sync failed: …" toast. The sync button in the toolbar turns red. Fix the field Apple complained about, then click the sync button again. Edits that weren't synced stay on your Mac.
  • An app is missing from the list. Click the refresh arrow at the top of the apps sidebar. Apps only appear for keys that can see them.

AI features#

  • "Add your AI provider key in Settings first". Slipway opens Settings ▸ AI. The Status there must read Ready before AI features work. Other values:
    • Needs an API key: paste your provider's key.
    • Needs a key and base URL: the Custom provider needs both. If your endpoint doesn't check keys, enter any placeholder as the key.
    • Pick a model: type a model ID, or pick one from the model list.
  • "Couldn't list models: …". The provider rejected the key or couldn't be reached. Check the key and, for Ollama or Custom, the Base URL. Ollama must be running (default http://localhost:11434/v1). Click the refresh button next to Model to retry, or type a model ID by hand.
  • "No chat models returned". Type a chat model ID by hand.
  • "… ran out of output tokens before answering (reasoning models need a larger budget)". Reasoning models can spend their whole output budget thinking before they answer. Pick a non-reasoning model for Slipway.
  • "AI did not return JSON". The model ignored the requested format. Try again, or use a more capable model.

See AI providers and models.

Screenshots rejected#

Slipway renders every screenshot as an opaque, non-interlaced PNG at Apple's exact pixel size, because Apple rejects transparency and interlacing. If Apple still rejects one, its upload row fails with "Apple rejected (dimensions/alpha)" and a Retry button.

Check the upload sheet for a warning that some screens have no capture. Those screens render with a placeholder. Then retry the failed row; rows that already uploaded are kept.

See Uploading screenshots.

Build & Upload fails#

  • "No shared scheme found." In Xcode, open Product ▸ Scheme ▸ Manage Schemes and tick Shared for your app's scheme.
  • "xcodebuild exited with …". The sheet shows the last lines of the tool's output, and you can select and copy them.
  • "Export produced no .ipa", or an upload error from altool. Apple's message is shown as-is.
  • Xcode isn't found. Copy Diagnostics shows xcodebuild ok or xcodebuild not found. Install Xcode, then point the command-line tools at it with sudo xcode-select -s /Applications/Xcode.app.

See Builds.

Do I need to grant Screen Recording?#

No. Slipway never asks for Screen Recording permission. Screenshots come from captures you drop into the studio.

Where are the logs?#

  • Help ▸ Copy Diagnostics includes the Last ASC error: the method, URL, status and Apple's error code of the most recent failed request.
  • Failed App Store Connect requests are also written to the macOS log with the prefix [Slipway ASC]. In Console.app, search for that prefix.
  • Crash reports are in ~/Library/Logs/DiagnosticReports/ (and its Retired folder), named Slipway-<date>.ips. Slipway offers to report a crash the next time it launches.

Starting over#

  • Remove a team: go to Settings ▸ Accounts ▸ Remove…. Removing the last team takes you back to onboarding.
  • Full reset:
    1. Quit Slipway.
    2. Delete ~/Library/Application Support/Slipway.
    3. Run defaults delete app.slipway.mac.
    4. In Keychain Access, delete the items for the service app.slipway.asc-key.