Skills software-mansion argent Argent
argent-settings-permissions
- Use it when:
- A test needs a permission such as camera, location or notifications set before the app asks, turned back on after a denial, or reset.
- It does:
- Edits the permission store directly: the iOS simulator's TCC database, or Android's runtime permissions over adb.
- Prefers:
- The app's own toggle or permission dialog whenever one can make the change, since that's the flow under test.
- Works with:
- 11 runtime permissions, not all on both platforms, on iOS simulators and Android; not physical iPhones.
- Needs:
- The Argent MCP server.
Skill 4 of 12 in the Argent bundle, after argent-tv-interact and before argent-test-ui-flow.
TL;DR
Part of Software Mansion's Argent toolkit, which lets the agent control simulators, emulators and devices. Argent's settings-permissions tool is for test setup, not a general toggle, and this skill's table decides when to use it, first match winning: tap the app's own control or the system dialog when there is one; use the tool to grant or deny before launch, to turn back on a permission iOS won't ask for again, or to reset it so the first-run dialog returns. Anything outside the 11 runtime permissions, such as Wi-Fi or dark mode, goes through the Settings app or the app's own UI instead. Its gotchas cover the platform differences: on Android a pre-launch deny doesn't suppress the prompt, a reset below API 33 can't clear "don't ask again", and granting background location adds fine and coarse location too. Permissions are set before launching the app, since a change can terminate a running one.
Summarizes the skill at b965c94.
npx skills add https://github.com/software-mansion/argent --skill argent-settings-permissions skills.sh pageSource on GitHubAll skills from software-mansion/argent
- Total Downloads
- 22,500 on skills.sh, Nov 9, 2026
- Repo stars
- 3,175 software-mansion/argent
- First seen
- Jul 14, 2026 on skills.sh
Weekly values
| Week to | Installs |
|---|---|
| Sep 21 | 1,375 |
| Sep 28 | 1,511 |
| Oct 5 | 1,521 |
| Oct 12 | 1,580 |
| Oct 19 | 1,632 |
| Oct 26 | 1,680 |
| Nov 2 | 1,610 |
| Nov 9 | 1,732 |
| Category |
Find root causes, review code and test what you built. Drive desktop apps, phones and simulators: tap, type, read the screen and test native apps. Everything for building software: planning, coding, debugging, design, frameworks, cloud, agents and skills. |
|---|---|
| Type |
Operates a CLI, API, app or bundled script to get something done. |
| Effect |
Its own steps create or change files, git state or local tools. |
| Needs |
Needs an MCP server connected. |
| Publisher |
A verified publisher on skills.sh, or the company or maintainer behind the product the skill operates. |
| Topics | |
| Stack |
SKILL.md
From software-mansion/argent at b965c94. Checked daily, last changed Nov 6, 2026.
Frontmatter
name: argent-settings-permissions
description: Grant, deny, or reset an app's runtime permissions (camera, microphone, photos, contacts, notifications, calendar, location, location-always, media-library, motion, reminders) on an iOS simulator or Android device using the argent `settings-permissions` tool - without navigating the system Settings UI. Use when the permission cannot be changed through the app itself - and only then, pre-authorize before the app asks, deny up front, re-enable a permission the user already denied, or reset so the prompt reappears. If the app can flip it - via an in-app toggle or the system permission dialog the app triggers - interact with the app instead.settings-permissions edits the platform's permission store directly (the iOS simulator's TCC database, Android's runtime permissions over adb). It is a test-setup / out-of-band tool, not a general permissions toggle: the default way to change a permission is still through the app. The tool's description covers the supported permissions per platform, the parameters, the result (applied / skipped) and the per-platform requirements.
When to use it - and when NOT to
The first matching row wins.
| Situation | Do this |
|---|---|
| The app has an in-app control for the permission (a toggle in its own settings screen) | Tap it in the app (describe → gesture-tap); it exercises the flow you're testing |
| The app asked and the system permission dialog is on screen | Tap the dialog (Allow / Don't Allow / Allow While Using App); describe exposes its buttons |
| The permission must be granted/denied before the app runs, so no dialog interrupts the flow | Use this tool (grant / deny) before launch-app |
| The user already denied it and you need it on again | Use this tool (grant): iOS never re-shows a dialog once denied |
| You need the first-run dialog to appear again | Use this tool (reset) |
| The permission is unsupported on the target platform, or it isn't one of the 11 runtime permissions (Wi-Fi, dark mode, VPN, Focus, …) | Do NOT use this tool: answer the app's dialog, or drive the Settings app or the app's own UI |
Rule of thumb: if a human tester could flip it inside the app, do that. Reach for settings-permissions only for a change a human would otherwise make in the system Settings app.
Gotchas
- iOS simulator only on Apple platforms. A physical iPhone has no host-side TCC switch, so the tool does not apply there.
- A pre-launch
denysuppresses the prompt on iOS only. On iOS a TCC denial answers the app's request, so no dialog appears. On Android adenyclears the grant but sets no "user-fixed" flag, so the app's next request still shows the system dialog: a pre-launchdenythere tests the revoked state, not a suppressed prompt. - Android
resetbelow API 33 can't clear "don't ask again". It revokes the grant, but clearing the user-fixed flag needs Android 13 / API 33+, so the dialog may stay suppressed on older devices. - Set permissions before
launch-app. A change can terminate a running app; if you change one while it runs,restart-appafterwards. - Android
location-always: agrantalso adds fine and coarse location, since background alone can't read location.