Modern iOS permission prompts (TCC dialogs like "Allow X to use your
location?") are hosted by a separate XPC process. The daemon's three
existing AX lookups — primaryApp, applicationAtCoordinate(centre),
systemApplication — all return nothing for them, so `describe` ends up
rendering an empty ROOT and silently falls through to native-devtools'
in-app view walk (which only sees the underlying app, never the prompt
buttons).
The companion daemon change in argent-private#10 adds a last-resort
sweep via `[AXElement currentApplicationsIgnoringSiri]`, gated on
alertVisible AND both prior arrays being empty, and lands the result in
a new `dialogElements` wire field. This commit wires that field through
the TS layer:
- Declare `dialogElements?: AXDescribeElement[]` on AXDescribeResponse
and forward it from the blueprint's describe() handler.
- Add an adapter fallback after `elements`: when the primary walk
produced zero usable children, use dialogElements. The daemon
already gates on prior-walks-empty, but the same condition is
enforced adapter-side to defend against older/newer daemon builds
and avoid duplication.
- Bump the argent-private submodule to the branch that ships the
daemon change.
Tests cover the new fallback (Maps location prompt shape) and the
defensive precedence (elements wins when both are populated).
Argent is an agentic toolkit that gives your AI assistant direct access to iOS Simulators and Android Emulators. Ask it to tap a button, run a profiler or reproduce an issue manually - all from within your CLI, without switching context.
npx @swmansion/argent init
Capabilities
- Autonomous iOS and Android development - Allow your agent to work with iOS and Android apps on its own - let it build, open, interact with the app and debug it. Ask for reproducing issues, testing features manually, profiling your app and much more, without ever interrupting your work.
- UI interaction - Give your agent full control toolkit - tapping, swiping, pinching, typing, gestures, hardware buttons and all other gears included. Let it navigate your app exactly as a user would, without lifting a finger.
- Profiling with batteries included - Argent can perform and analyze both React-Native and Xcode Instruments profiling sessions. Get comprehensive summaries and ask to optimise your app where you find fit.
- Debugging and diagnostics - Let your agent inspect logs, capture crash reports, and reproduce failing states on the simulator, so you can jump straight to the fix.
- React Native out of the box - Argent works with React Native apps natively, so your agent can build, launch, and iterate on your RN project the same way it would any native app - no extra setup required.
Tip: Once installed, ask your assistant "What can Argent do?" - it will walk you through all capabilities available.
Installation
Prerequisites
- Node.js 18 or later
- For iOS: macOS with Xcode installed
- For Android: Android SDK Platform Tools (
adb) onPATH, and the Android Emulator package if you want to boot AVDs from Argent. Create AVDs via Android Studio oravdmanager.
Run init in your project
From your project root:
npx @swmansion/argent init
This command triggers an installation wizard which:
- Installs
@swmansion/argentglobally - Detects your editor and registers the MCP server
- Copies skills, rules, and agent definitions into your workspace
Prefer a manual install?
npm install -g @swmansion/argent
argent init
CLI Reference
| Command | Description |
|---|---|
argent init |
Install globally and configure MCP in the current workspace |
argent install |
Alias for init command |
argent update |
Pull the latest version and refresh workspace configuration |
argent remove |
Unregister the MCP server and uninstall the package |
argent uninstall |
Alias for remove command |
argent mcp |
Start MCP server instance, used internally by agent |
Supported Editors
argent init auto-detects and configures MCP for:
| Editor | Config location |
|---|---|
| Claude Code | .mcp.json (project) or ~/.claude.json (global) |
| Cursor | .cursor/mcp.json (project) or ~/.cursor/mcp.json (global) |
| VS Code | .vscode/mcp.json |
| Windsurf | .windsurf/mcp.json |
| Zed | .zed/settings.json |
| Gemini CLI | .gemini/settings.json |
| Codex CLI | .codex/config.yaml |
| opencode | opencode.json (project) or ~/.config/opencode/opencode.json (global) |
Privacy
Argent does not collect or transmit any user data. No telemetry, no analytics, no crash reporting.
- Argent integrates with your agent locally over MCP stdio.
- Its internal tools are not reachable from outside your machine.
- The only outbound network call we make is the version check against our public npm package, which sends no user data and fails gracefully if blocked.
License
Argent uses a mixed licensing model.
Source code is released under the Apache License 2.0.
Proprietary binaries (the bin/simulator-server and bin/ax-service executables and the .dylib files in native-devtools-ios) are the intellectual property of Software Mansion S.A. and are licensed solely for use within this project. Decompiling, reverse-engineering, or redistributing them without explicit written permission is prohibited.
By using Argent, you acknowledge and agree to this structure. See LICENSE for full details.
Argent is created by Software Mansion
Since 2012 Software Mansion is a software agency with experience in building web and mobile apps. We are Core React Native Contributors and experts in dealing with all kinds of React Native issues. We can help you build your next dream product – Hire us.
