Skip to main content
PhoneClaw requires several Android permissions to function properly. This guide explains each permission, why it’s needed, and how to grant it.

Critical Permissions

These permissions are essential for PhoneClaw’s core functionality:

Accessibility Service

Purpose: Allows PhoneClaw to interact with screen elements, simulate taps, and automate UI interactions. How to Enable:
  1. Open Android Settings
  2. Navigate to Accessibility
  3. Find “PhoneClaw” or your app name
  4. Toggle the accessibility service ON
  5. Confirm the permission prompt
This is the most critical permission. Without accessibility access, PhoneClaw cannot automate any tasks or interact with other apps.
The accessibility service is declared in AndroidManifest.xml:89-104:

Screen Capture / Media Projection

Purpose: Enables PhoneClaw to capture screenshots for visual AI analysis and debugging. Required For:
  • Moondream visual element detection
  • Debug mode screenshot uploads
  • Screen context for AI generation
How to Enable:
  • PhoneClaw will prompt for screen capture permission on first launch
  • Grant permission in the system dialog
  • This permission is requested at runtime
Declared as:

Voice & Audio Permissions

Microphone (RECORD_AUDIO)

Purpose: Enables voice commands and push-to-talk functionality. How to Enable:
  • PhoneClaw requests this permission at runtime
  • Grant permission when prompted
  • Required for speech recognition
From AndroidManifest.xml:21:
Usage in App:
  • Push-to-talk button (MainActivity.kt:1096-1126)
  • Continuous voice listening
  • Speech-to-text processing
The app uses Android’s built-in SpeechRecognizer, which handles voice processing on-device when possible.

Location Permissions

Fine & Coarse Location

Purpose:
  • WiFi network scanning (required for programmatic WiFi connections)
  • Device location tracking for phone info
  • Geolocation features
From AndroidManifest.xml:17-18:
How to Enable:
  • Requested at runtime when needed
  • Go to Settings > Apps > PhoneClaw > Permissions > Location
  • Select “Allow all the time” or “Allow only while using the app”
Location permissions are required for WiFi network operations on Android 10+, even if you’re not using location features. This is an Android system requirement.
Code Reference: MainActivity.kt:500-512

Network Permissions

Internet & Network State

From AndroidManifest.xml:8-10:
Purpose:
  • OpenRouter API communication
  • Firebase cloud features
  • Moondream API requests
  • WiFi network management
Auto-Granted: These are normal permissions automatically granted at install time.

WiFi Permissions

From AndroidManifest.xml:13-15:
Purpose:
  • Programmatic WiFi connections
  • Network scanning
  • Nearby device detection

Optional Permissions

These permissions enable additional features but aren’t required for core functionality:

Phone & SMS

Purpose: Automation of phone calls and SMS messaging When to Grant: Only if you plan to automate phone/SMS tasks

Camera

Purpose: Camera control automation When to Grant: Only if automating camera operations

Storage

Purpose: File management, screenshot saving, downloads Note: On Android 10+ (API 29+), scoped storage is used by default

Bluetooth

Purpose: Bluetooth device control automation

Notification Access

Purpose: DND mode control, notification management

Granting Permissions

First Launch

On first launch, PhoneClaw will guide you through:
  1. Screen Capture Permission - Immediate prompt
  2. Accessibility Service - Redirects to Settings
  3. Microphone Permission - When tapping voice button
  4. Location Permission - If using WiFi features

Manual Permission Management

Via Android Settings:
  1. Open Settings
  2. Go to Apps > PhoneClaw
  3. Tap Permissions
  4. Enable required permissions
Via ADB (for developers):
Some permissions like BIND_ACCESSIBILITY_SERVICE cannot be granted via ADB and must be enabled through Settings.

Permission Request Flow

PhoneClaw handles permission requests gracefully:
  1. Check if permission is granted (MainActivity.kt:1085-1093)
  2. Request permission if needed (MainActivity.kt:1091)
  3. Handle permission result (MainActivity.kt:1003-1007)
  4. Provide feedback via Text-to-Speech

Troubleshooting

Accessibility Service Won’t Enable

  1. Try restarting your device
  2. Clear app cache and data
  3. Reinstall PhoneClaw
  4. Check for Android system updates

Screen Capture Not Working

  1. Verify media projection permission is granted
  2. Ensure no other screen recording app is active
  3. Check ScreenCaptureService is running
  4. Review logs for errors

Microphone Permission Denied

  1. Go to Settings > Apps > PhoneClaw > Permissions
  2. Manually enable Microphone permission
  3. Restart the app

Location Permission Issues

On Android 10+, you may need to grant “Allow all the time” for background WiFi operations.
  1. Settings > Apps > PhoneClaw > Permissions > Location
  2. Select “Allow all the time” or “Allow only while using the app”
  3. Some features may require “Allow all the time”

Security & Privacy

PhoneClaw requests extensive permissions for automation purposes. Here’s what you should know:
  • Local Processing: Voice recognition runs on-device when possible
  • Screen Captures: Only uploaded to Firebase if debug mode is enabled
  • Location Data: Used for device tracking in Firebase (optional)
  • Open Source: Review the source code to verify permission usage
You can disable Firebase features entirely and use PhoneClaw in offline mode with local automation only.

Complete Permission List

Here’s the full list from AndroidManifest.xml:

Next Steps