Account
Macro Automation Studio Not Working? Errors and Fixes
Fixes for when Macro Automation Studio is not working: sign-in, missing devices, image not found, OCR misreads, script errors, stuck cloud devices and credits.
- Windows
- Mac
- Emulator
- Cloud device
- Studio
- Python SDK
- API
On this page
- Sign-in
- Sign-in fails
- Devices
- Device not found: the app shows no devices
- Device found but the macro does nothing
- Vision
- Image not found
- OCR reads wrong text
- Scripts and logs
- Script errors
- Where logs live
- Cloud devices
- A cloud device is stuck
- Runs
- A run stopped without a reason
- Account
- Subscription or credit problems
- How to update
- Macro Automation Studio still not working? Ask for help
When Macro Automation Studio (MAS) is not working, start here: this page collects the problems people hit most often. Each entry gives the likely cause, a short fix, and a link to the page that goes deeper. Emulator connection problems have their own page, ADB troubleshooting.
Sign-in
Sign-in fails
- “Invalid credentials”: check the email and password, or click Forgot password? to reset it with the code MAS emails you.
- “This email is registered with Google and has no password”: click Sign in with Google. Your browser opens and the app continues after “Login Successful”.
- “Too many attempts”: wait the number of seconds shown, then try again.
- A new account must be activated first. Enter the one-time password from the activation email; click Resend if it did not arrive.
- After sign-in MAS checks your subscription. Without a trial or a paid plan it opens the Subscription page. See Billing.
Devices
Device not found: the app shows no devices
The Port list in Add New Device is built from running emulator processes, not from adb devices. Wait until the emulator shows the Android home screen, then click Refresh. If the list stays empty, ADB is switched off in the emulator or the port is outside the range MAS knows; use Custom Port in that case. The switches, ports and adb commands for BlueStacks, LDPlayer, MuMu Player, MEmu and Nox are on the ADB troubleshooting page.
Device found but the macro does nothing
The device card reads Running and nothing happens on the screen.
- Check that a macro is selected on the card. The card says “This device has no macro assigned” when none is.
- Open the card’s Logs tab. A script that finds nothing usually loops quietly:
find_objectreturnsNoneon a miss and never raises. - Make sure the app is open on the device and on the screen the macro expects. Most macros start with
mas.open_app()and a template check. - Compare the emulator’s resolution with the one the templates were captured at. A macro built on one resolution misses on another.
- On a cloud device, the device must be Ready before Run is enabled.
Vision
Image not found
Two different things carry this name.
find_objectreturnsNone: the template is not on screen at the defaultthreshold=0.8. Lower the threshold a little, narrow the search withsearch_region, or recapture the template at the current resolution in Asset Lab. Templates are matched pixel for pixel, so a different resolution, DPI or theme breaks the match.ImageNotFoundError: the image id does not exist in your Image Library, or the file could not be loaded. Check the id in yourmas.images({...})block against the library.
import mas
images = mas.images({"claim_button": 123})
match = mas.find_object_retry(images.claim_button, total_tries=3, time_sleep=2.0, threshold=0.7)
if match:
mas.click(match.x, match.y)
else:
mas.log("claim button not on screen")OCR reads wrong text
read_text runs Tesseract on the region you give it, so the region and the settings decide the result.
- Tighten the region to the text alone. Icons or a second line inside the region confuse the reader.
- Match
psmto the shape of the text:psm=7for one line (the default),psm=8for a single word,psm=6for a block,psm=11for sparse text. - Set
color_conversion=ColorConversion.BLACK_WHITEfor text on a noisy or coloured background. - Test the region in Asset Lab before you put it in code. The OCR guide covers digits, timers and patterns.
import mas
from mas import Region, ColorConversion
result = mas.read_text(
region=Region(x1=100, y1=200, x2=900, y2=260),
psm=7,
color_conversion=ColorConversion.BLACK_WHITE,
)
print(result.text, result.confidence)Scripts and logs
Script errors
The traceback tells you which side failed.
DeviceNotConnectedErroron the first call: the device dropped. Restart the emulator and click Start on the card; see ADB troubleshooting.TimeoutError: a wait ran out. Raisetotal_triesortime_sleepinfind_object_retry, or check that the screen you wait for can appear at all.AuthenticationErrororSubscriptionError: the app could not confirm your sign-in or subscription with the server, often a network hiccup. Sign in again and rerun; see Billing if it persists.- A plain Python error (
NameError,IndexError, an import that fails): fix the code in the Code Editor, where the LSP underlines most of these before you run.
Every SDK exception is listed on the Errors page.
Where logs live
| Log | Where |
|---|---|
| A run started from the Code Editor | The Console panel under the editor |
| A run on a device card | The card’s Logs tab in Device Groups, with User, Exec, Errors and Warnings filters; Save writes them to a file |
| Every run on your account | The Runs page, with status, device, start, end and duration, kept after the app closes |
| Scheduler runs | %AppData%\MacroAutomationStudio\scheduler_logs on Windows, ~/Library/Application Support/MacroAutomationStudio/scheduler_logs on Mac |
| Agent sessions | The chat itself; the engine keeps its traces under %AppData%\MacroAutomationStudio\agent-state on Windows and ~/Library/Application Support/MacroAutomationStudio/agent-state on Mac |
| The app | C:\ProgramData\MacroAutomationStudio\logs on Windows, ~/Library/Application Support/MacroAutomationStudio/logs on Mac |
Cloud devices
A cloud device is stuck
A cloud device moves through Placing, Starting, Ready, Stopping and Stopped, and shows Error when a stage fails. The card shows the elapsed time and the usual duration for each stage.
- Stuck in Starting or Stopping well past the usual time: click Stop, wait for Stopped, then Start again. Stopping keeps everything on the device.
- “You’re already running your plan’s limit”: stop another device to start this one.
- The stream will not open: the device must be Ready, and only one viewer can watch at a time.
- A device that sat idle stops itself after an hour; start it again when you need it.
The states, the stream and installing apps are on the Cloud devices page.
Runs
A run stopped without a reason
Open the Runs page and filter by Failed or Stopped. For the cause, read the device card’s Logs tab, or subscribe to macro.failed and macro.stopped webhooks: the payload’s data object carries exit_code, duration_ms and an error field with the message the run ended on. Scheduled runs need the app open; the Scheduler page explains why a job did not fire.
Account
Subscription or credit problems
- The API answers
402: the account has no active subscription, or an agent session ran out of AI credits. Top up on the Subscription page and retry. - A script raises
SubscriptionError: the app could not confirm the subscription, which does not always mean it lapsed. Check the network and rerun. - “Payment failed” on the Subscription page: retry the payment or update the card. The grace period, cancelling and reactivating are on the Billing page.
How to update
MAS updates itself. After sign-in it checks for a newer version and offers Update Now. If the dialog reports “Update failed”, click Try Again or install the current build from the download page. Details are under Install.
Macro Automation Studio still not working? Ask for help
Ask in Discord or email support@automationmacro.com. Include:
- The MAS version (shown on the sign-in screen) and your operating system.
- The emulator and its version, or the cloud device name.
- The device card’s logs (Save) and the exact error line or traceback.
- The macro name and, for a MAS Agent problem, the name of the chat.
- For billing, the date, the provider and the email on the account. Never send an API key or a password.
Next steps
Related pages
Thanks. If something is wrong, tell us in Discord.
Questions? Ask in Discord