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
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 Downloads
1.7K
+26% over the 8 weeks to Nov 9
Weekly values
Week toInstalls
Sep 211,375
Sep 281,511
Oct 51,521
Oct 121,580
Oct 191,632
Oct 261,680
Nov 21,610
Nov 91,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 deny suppresses the prompt on iOS only. On iOS a TCC denial answers the app's request, so no dialog appears. On Android a deny clears the grant but sets no "user-fixed" flag, so the app's next request still shows the system dialog: a pre-launch deny there tests the revoked state, not a suppressed prompt.
  • Android reset below 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-app afterwards.
  • Android location-always: a grant also adds fine and coarse location, since background alone can't read location.