Localize your App Store listing with Claude
Ask Claude to take your listing into German, Japanese and Brazilian Portuguese. It writes the copy; MetaRun checks the 30-character name and subtitle, the 100-character keyword field, and stages each language as its own before and after.
Setup checked October 2026 against Claude custom connectors
Connect Claude once
01 · Add a custom connector
In Claude, open Customize, then Connectors, and choose Add custom connector. Name it MetaRun and paste the server URL:
https://metarun.dev/api/mcp02 · Connect
Click Connect. Claude opens MetaRun in your browser to sign in; pick read-only or read and change.
03 · Team and Enterprise
An Owner adds the connector once under Organization settings, Connectors. Each member then clicks Connect and signs in to their own MetaRun account.
What Claude handles here
An App Store listing is two sets of text per language. Name, subtitle and the privacy URL live on App Information. Description, keywords, What's New, promotional text and the support URL live on the version. Adding a language in App Store Connect means filling both, in the right places, inside limits that are counted differently per field.
Claude handles the writing. MetaRun reads every language that exists, checks each field's limit before staging, adds languages that don't exist yet, and keeps a coverage map so a half-done job is visible.
Before you start
- An editable version, so the version's text can change.
- App Information open for edits if you're changing name or subtitle; apple_get_listing_editability says whether it is.
- A list of target languages, or ask Claude which ones your storefronts index.
How it runs
- 01
Read the listing as it is
Claude reads both text surfaces for every existing language, plus Apple's list of supported languages.
- 02
Write within the limits
Name and subtitle get 30 characters each, keywords 100, the description 4,000. The agent writes; MetaRun refuses anything over a limit at preview, with the count.
- 03
Stage per language
Each language becomes one or two previews (App Information and the version). New languages are created by the apply, no separate add step.
- 04
Close the gaps
Listing coverage shows which fields are still empty in which languages, so Claude can finish the job instead of reporting it done early.
An example session in Claude
Translate my App Store listing into French, Italian and German.
- apple_list_supported_localesGerman, Japanese and Portuguese (Brazil) are supported and not on the listing yet.
- apple_preview_set_app_info_localizationPreview: add German. Name 22 of 30 characters, subtitle 29 of 30.
- apple_preview_set_version_localizationPreview: German description and keywords, 97 of 100 characters.
- Claude asks before running apple_apply_set_app_info_localization. You read the preview above and approve.
- apple_apply_set_app_info_localizationGerman added. Apple created its other localization rows.
- Claude asks before running apple_apply_set_version_localization. You read the preview above and approve.
- apple_apply_set_version_localizationApplied.
- apple_get_listing_coverageGerman complete. Japanese and Portuguese (Brazil) still to do.
Illustrative: your apps, versions and numbers will differ. The tool names and their order are real.
The MetaRun tools Claude calls
| Tool | What it does |
|---|---|
| apple_list_supported_localesread | Every listing language Apple supports, with its code. |
| apple_list_app_metadataread | Name, subtitle and privacy URLs per language. |
| apple_list_version_localizationsread | Description, keywords, What's New and promotional text per language. |
| apple_preview_set_app_info_localizationpreview + apply | Stage name and subtitle for a language, adding the language if needed. |
| apple_preview_set_version_localizationpreview + apply | Stage description, keywords and the rest of the version text. |
| apple_get_listing_coverageread | What's filled and what's empty, per language and field. |
| aso_cross_locale_planread | Which extra languages each storefront indexes, and the keyword room they add. |
| aso_lint_metadataread | Rulebook check on the copy before it's staged. |
Each preview has an apply twin (the same name with apply instead of preview) that only runs with the confirm token from a fresh preview, and refuses if App Store Connect changed in between. MetaRun tools save to your MetaRun workspace only (studio projects, tracked keywords), never to Apple.
What Apple enforces, and how MetaRun handles it
Two surfaces, two edit windows
Name and subtitle sit on App Information; the rest sits on the version. Apple locks each at different times, and apple_get_listing_editability says which is open right now.
Storefronts index more than one language
The US storefront indexes nine extra listing languages besides English (U.S.). Each adds a 30-character name, 30-character subtitle and 100-character keyword field Apple searches in that storefront, which aso_cross_locale_plan maps out.
Keywords are 100 characters, commas included
Spaces after commas waste characters, and words already in your name or subtitle are indexed anyway. The lint flags both.
A new language fills its own blanks
Adding a language makes Apple create that language's other localization rows. MetaRun keys the confirm token on the language rather than Apple's row id, so the second half of your change doesn't fail as drift.
What to ask Claude
- Ask Claude: Translate my App Store listing into French, Italian and German.
- Ask Claude: My Japanese subtitle is too long. Fix it and show me the change.
- Ask Claude: Which languages does my listing have?
How Claude asks before a change
Claude asks before it calls a connector's tool unless you've set that tool to always allow. Keep MetaRun's apply tools on ask: that's the moment you see the change and decide, and it needs the confirm token from a fresh preview either way.
Frequently asked questions
How many languages can Claude add?
Any of the languages Apple supports for listings. apple_list_supported_locales returns the current list with codes, and each language is staged as its own change.
Does MetaRun translate, or does Claude?
Claude writes the translations. MetaRun makes them land correctly: the right field, the right surface, inside Apple's limits, with a preview per language.
Can it localize keywords, not just translate them?
Yes, and it should. Direct translations of keywords often miss what people search for. Pair it with aso_suggest_keywords, which reads App Store autocomplete in that storefront.
What if I don't like one language?
Skip it at approval, or ask Claude to redo it. After applying, every change is in your history and can be reverted from there.
How do I connect Claude to App Store Connect?
In Claude, open Customize, Connectors, Add custom connector, paste https://metarun.dev/api/mcp and click Connect to sign in to MetaRun. After that, ask for "localize your listing" in plain words and Claude picks the MetaRun tools.
Does Claude see my App Store Connect key?
No. Your App Store Connect API key stays envelope-encrypted on MetaRun's servers and is decrypted per request. Claude holds a MetaRun token that you can revoke in Settings at any time.
More with Claude
Claude
Release notes
Write What's New from your changelog and stage it in every language.
OpenClaude
ASO keywords
Find keywords from App Store autocomplete, track ranks, and lint your metadata.
OpenClaude
Screenshots
Design, caption, translate and upload App Store screenshots from a prompt.
OpenClaude
Submit for review
Attach the build, clear export compliance, run the readiness sweep, submit.
OpenLocalize your listing with another agent
In depth: Listing translation
Agent access
14-day free trial with agent access. No credit card. Your Apple key stays encrypted on MetaRun.