Myna Recorder user manual

Everything Recorder does. The exact syntax of every command is in the app, beside the editor.

Updated 15 September 2026.

Getting started

Myna Recorder — “Recorder” in this manual, Recorder.exe on disk — is a macro recorder for Windows 10 and 11, 64-bit. It records your keyboard and mouse, lets you edit the result as a readable script, and replays it into any application. Download it here.

Activating

  1. Create an account and confirm your email.
  2. In Recorder, sign in at the top right with your email and password. The strip then shows your plan and AI credit balance.

Recorder stays signed in and keeps working through a dropped connection. Sign out releases the seat on this computer for another machine.

Your first macro

Press Start recording (F2), do the task by hand, press Stop recording (F3), then Start playback (F4) to replay it and Stop playback (F6) to end a run early. The full shortcut table is under Playing back.

Where this manual names a key, it means the default. Keys are changed in Settings → Hotkeys.

A macro sends real input to whatever is in front of it. Know your Stop playback key before you start; it works even when Recorder is not the active window.

The window

Six views. Four edit one project; the Agent does a job for you, and the Clicker clicks for you.

ViewWhat it is for
RecorderThe step list: one row per action, with labels, sections and grouped mouse-move runs. Best for reordering, deleting and retiming.
ScriptThe same macro as text. Best for loops, conditions and precise edits. Double-click a command to open its settings form. Under the editor, Explain adds a plain-words column beside the code, Auto complete offers names as you type, and Check syntax lists problems as you type.
ClickerAn auto clicker: one click, one key or a sequence of points, over and over, at a rate you set — see Auto clicker.
AgentSay what you want done and the AI does it on the real mouse and keyboard, one step at a time — see Agent.
MonitorsWatch rows that run alongside playback or on their own — see Monitors.
ImagesThe named screen crops this macro uses. Capture, re-capture and rename them here. Crops are shared by every macro on this computer.

Side-by-side shows the step list and the script at once. The Variables button opens a dock showing every variable live during a run.

Files

  • .recproj — a project: the macro, its crops and its settings in one file. This is what you normally save.
  • .recscript — a script on its own, as text.

The working macro is autosaved, unapplied Script-tab text included.

Recording

Start recording begins and Stop recording ends (F2 and F3 by default). Recording is global: it captures what you do in any application, with the original timing.

Settings → Recording chooses what is recorded: keyboard, mouse clicks, mouse movement, mouse wheel. Without mouse movement the macro is much shorter and clicks straight to each target; record movement only for drawing or hover.

Recorded coordinates are absolute screen pixels. Move the window, change the resolution or replay on another machine, and a recorded click lands in the wrong place. The fix is image anchors.

Use every monitor extends capture across every display. Leave it off on a single screen.

Playing back

ActionDefault key
Start recordingF2
Stop recordingF3
Start playbackF4
Pause / resume playbackF5
Stop playbackF6
Start the auto clickerF7
Stop the auto clickerF8

All seven are global, and a key Recorder holds is consumed: other applications never see it. Change or disable them in Settings → Hotkeys.

Stop playback is the one global way to interrupt a running macro. Keep it bound; hide-while-running and the Agent refuse to start without it.

Speed and repeat

Playback runs from 0.25× to 10×. Speed scales the recorded waits, not sleep() calls you wrote, and cannot make an application respond faster. If a macro breaks at 4× but works at 1×, replace the timing with wait_for().

Repeat runs the macro a set number of times; 0 means “until stopped”. For looping within one run, use the loop blocks.

Test runs

Test in the Recorder tab plays only the selected rows. Test selection in the Script tab compiles and plays the selected text, unapplied edits included. The macro is never touched.

  • A test runs once, at 1×, whatever Repeat and Speed say.
  • A half-selected loop is widened to the whole block; a selected section header stands for everything inside it.
  • A countdown runs first (Settings → Recording → Wait before a test starts, 0–30 seconds, default 3). Stop cancels it.

Hide while running

Settings → Window → Hide this window while recording or replaying hides Recorder during a run, tests included. It needs a Stop playback shortcut bound.

Editing a macro

Sections

A section is a chapter heading in the step list. Use one per real phase of the task.

with section("Log in"):
    click_crop("Username")
    type_text("user")

with section("Export"):
    click_crop("Export")

Sections never nest and start at the left margin. Loops and conditions may sit inside one, indented four spaces per level.

Labels and jumps

label="name" on any command makes it a jump target; label("name") on its own line is a do-nothing step to jump to; goto("name") jumps there.

with section("Retry"):
    click_crop("Refresh", label="again")
    wait_for("Done", timeout_ms=20000, on_fail="again")
    label("done")

Every goto("x"), on_no="x", on_fail="x" and wait_any arrow -> "x" needs a step carrying label="x", or playback stops with an error. Labels must be unique.

Functions: see the script reference.

Images and crops

A crop is a named picture of something on screen: a button, an icon, a heading. Recorder finds it at playback time and acts on wherever it is now, so the macro survives a moved window, a new resolution or another machine.

Capture one in the Images view, name it, then use the name:

wait_for("Save dialog", timeout_ms=10000, abort=True)
click_crop("Save button")
ArgumentWhat it does
"crop"The name, quoted, or a condition of names: "A" or "B", "A" and "B", brackets to group. Works in wait_for, click_crop and the four if_image/while_image blocks; click_crop clicks the first name written. See conditions.
confidenceHow close the match must be, 0–1. Default 0.8. Lower it for a button that changes shade on hover; raise it if the wrong thing matches.
timeout_msHow long to keep looking. Default 5000.
abortDefault False: a missing picture is a miss, not a fault, and the run carries on. abort=True stops instead.
on_failA label to jump to when the picture never turns up.
region(x, y, w, h): search only this rectangle. Use it when the same control appears twice. Each number may be a variable or a sum.
match"color" (default, stricter) or "shape", outline only, which survives a theme change. The old spelling grayscale=True still means match="shape".
x_offset / y_offsetOn click_crop: shift the click from the centre of the match.
pre_click_msOn click_crop: how long the cursor rests on the match before pressing. Default 200. See Mouse.
intoStore the match as a variable, or write r = wait_for("crop"). See the match result.

Capture tightly. A crop should hold the distinctive part and nothing else; background inside it fails the match when the background changes.

Reading text from the screen

read_text reads a region of the screen into a variable. Clean the result with methods and use it in conditions, arithmetic, or as ${name} inside any text argument.

total = read_text(region=(820, 400, 180, 40), single_line=True)
message_box("The order total was ${total}")

Always pass region. Reading the whole desktop scales it down until ordinary interface text is unreadable.

Three readers

engine=What it is
"builtin"The default. Runs on your computer, free, and travels inside an exported program.
"tesseract"Also local and free. Reads some screens better and some worse than the built-in engine. It alone takes page_mode=, which controls how the picture is split into lines. Try it when a read is close but wrong.
"ai"A transcription model on the server. Costs credits and blocks export; see Credits. Use it when both local engines misread something that matters.

The engine is chosen per step. engine="ai" transcribes; to reason about the screen, use ask_ai.

Cleaning what came back

total = read_text(region=(820, 400, 180, 40)).to_number()
if total < 1000:
    notify("Total looks low: ${total}")

The methods are listed under Cleaning up what you read. A blank region stores "" and the run carries on. single_line=True joins the result into one line.

Asking the AI

ask_ai puts a question about part of the screen to a vision model and stores the answer: “how many rows are red?”, “is there an error dialog?”.

n = ask_ai("how many error icons are visible", role="count", region=(0, 0, 800, 600))
if n:
    click(n.1.x, n.1.y)

Every call costs credits and blocks export; see Credits. A run is capped at 60 AI calls.

Three roles

role=The answer
"count"The default. A number, and where each thing is: n is the count, n.1.x / n.1.y the first position, n.2.x the second. The index may be a variable: click(n.${i}.x, n.${i}.y). There is no yes/no role: if n: means “is it there”, if not n: “is it missing”.
"explain"A sentence, for log() or notify().
"read"A transcription, using the model you chose — unlike read_text(engine="ai"), which uses a fixed transcription model.

Choosing a model

model= takes a short name. The live list, priced for the region your step reads, is in the settings form (double-click the ask_ai call in the Script tab). The recommended setting is the default model at its default reasoning level: leave model= and reasoning= out of the call and the server picks them, currently glm. The table is there for the case where you have a reason to differ; the dearest model is not the most accurate for every question, and gemma, the cheapest, was measured the most accurate on a small crop.

NameModelreasoning= levelstemperature=
gemmaGoogle Gemma 3 12B0–2
glmGLM 5.3 Flash (default)0–2
qwen-vlQwen3-VL 30B0–2
gemini-liteGemini 3.1 Flash Lite0–2
geminiGemini 3.7 Flashlow, medium, high
haikuClaude Haiku 4.50–1
sonnetClaude Sonnet 5low, medium, high, xhigh, max (default high)
gemini-proGemini 3.1 Prolow, medium, high0–2
kimiKimi K3low, high, max (always reasons; default max)
opusClaude Opus 5low, medium, high, xhigh, max (default high)

Always give it a region=. A model can count things across a whole desktop that it cannot then locate; a macro that wants to click needs a small picture. The same applies to read_text and to AI watch rows.

Script reference

The script looks like Python and keeps to a small slice of it: variables, arithmetic, if/else, while and repeat loops, command calls and def functions, four-space indentation, # comments. Blocks nest; only sections must stay at the left margin. There are no lists, no string joining with +, and no imports.

The complete reference — every command, every argument it takes, the key names, and a worked example for each — lives inside the app, beside the editor you write scripts in. In the Script tab, open the command list and right-click any command for its manual page; select one and press Insert to drop a valid call at the cursor. Double-click a call to open its settings form, which lists every option that command accepts.

Named arguments may be given in order without their names: press("a", 0.5) is press("a", hold=0.5). Every command also accepts label="name".

Monitors

A monitor is a watchdog. It watches the screen while a macro runs, or on its own after Start watching, for the thing that might happen: a crash dialog, a session-expired banner, an out-of-stock warning. A wait_for watches only where you put it; a monitor watches throughout.

What a row watches

The Watch with chip picks one: a picture to find, or a question to ask.

KindWhat it does
ImageA named crop, matched as wait_for matches. Free, and as often as you like.
Ask AIA question to a vision model: “is there an error dialog?” The answer is a count; 0 means nothing found. Costs credits; see Credits.

When it fires

SettingMeaning
AppearsThe picture turns up, or the count goes from 0 to any number.
Goes awayIt was there and now is not. The row has to see it first, so it never fires on something you have not opened yet.
AnalyzeAI rows only. No edge: the model describes what it sees and the row sends that sentence on every check.

The rest of the row

ColumnWhat it does
Look inWhich part of the screen to search or ask about. Blank means everywhere. Give an AI row a small region; see Asking the AI.
Match onImage rows: Color is stricter, Shape matches on outline alone and survives a theme change. The gear beside it holds the quiet period. AI rows use this cell for model, reasoning, temperature, region and the quiet period.
Check everyHow often this row looks, in seconds. An AI row cannot go below one second and defaults to sixty.
Start afterDelay after Start watching before this row begins, so an application can finish loading. Re-armed every time watching starts.
MessageWhat the alert says. ${name} is replaced. Left blank, an Analyze row sends the sentence from the model itself.

What it does when it fires

Popup, Telegram, Discord, and a screenshot attached. The pills on the row choose the transports; Settings supplies the credentials. Stop macro stops the macro and stops watching. An Analyze row fires on every check, so it cannot stop the macro.

The settings on a row also hold a quiet period between messages, separate from how often it looks. Settings → Notifications can also send a picture of the screen on a timer while watching is on.

Exporting

The Export button carries every watch row that is switched on and has a picture, with its crop and its settings. The exported program starts them with each run and stops them when the run ends, exactly as Run does here. Rows that ask the AI are refused at export, by name; switch them off first. Whether their Telegram or Discord alerts reach you depends on the credentials question at export.

Auto clicker

The Clicker tab clicks, or presses a key, over and over until you stop it: at the cursor, at a fixed point, or through a sequence of points you record by clicking them. It is not a macro — nothing goes into the project — but everything on the tab is remembered for next time.

Three modes

ModeWhat it does
A clickOne click, repeated. Left, right or middle; single, double or triple. At the cursor, where it follows the mouse; at a fixed point you pick on a frozen screen; or wandering inside a box.
A key pressOne key, pressed over and over.
A sequence of pointsSeveral places clicked in order, each with its own wait, button and click type, round and round.

The settings

SettingMeaning
Wait betweenThe time between clicks, in milliseconds, plus an optional jitter: up to that much extra, drawn fresh for every click, so the rhythm is never exact. The green pill beside it shows what the settings come to in clicks per second, counting the hold and the jitter.
Hold downHow long the button or key stays down on each click, with a jitter of its own.
Stop afterUntil stopped, a count of clicks (passes, for a sequence), or a time.
ScatterHow far each click may land from its point, in any direction, so a long run does not hit one pixel. 0 is exact. Keep it smaller than the target.
Wandering in a boxPick a box, then where inside it to start; each click steps at most so far from the last one and never leaves the box.
HotkeyF7 starts, F8 stops, from any program. Change them in Settings → Hotkeys.

Recording a sequence

In A sequence of points, press Record points and left-click each place in turn, in the program itself. Every click adds a row while you watch. The click that presses Stop — and any other click on the Recorder window — is not counted. Each row then has its own wait, button and click type, and Pick moves one point on a frozen screen.

Ways to stop it

  • The Stop button, the Stop Clicker key, the Stop playback key, or Esc while Recorder is in front.
  • Hold mode: it clicks only while the Start key is held down, and the key still reaches the program under the pointer.
  • Stop when the cursor touches the top of the screen: push the mouse against the top edge and it stops, in every mode — a way out that needs no keyboard.
  • Stop if the mouse is moved by hand: the moment the pointer is somewhere the clicker did not put it.

The Start button waits a moment first so the mouse can leave the window; the hotkey starts at once.

What each plan includes

The clicker itself is on every plan: one click or one key at an exact rate, at the cursor or a fixed point, with the count, the time limit and every way to stop it. Basic and Pro add Humanized (the cursor travels to each click and the hold varies), the two jitters, scatter, sequences of points and the wander box. On Free those controls are greyed out with a padlock beside them, and what you set under a plan is kept for when it is covered again.

Humanized motion exists to make a run behave like a hand on the mouse in ordinary applications. Recorder does nothing to hide itself from any program.

Export as a program

File → Export as Program… writes a single .exe containing the macro, its crops and the text reader it was tuned with. It needs no installer, no runtime and no copy of Recorder.

  • The export dialog offers a control window: Run, Pause and Stop with their keys, Repeat and Speed, and a status line. Without it the program runs the moment it is opened, shows nothing, and closes when the macro ends — right for something a scheduler starts, wrong for a first try. Tick the window for anything you will start by hand: then a problem is shown in a message rather than passing silently.
  • Your Run, Pause and Stop keys travel as bound in Settings → Hotkeys at export, and so do the watch rows that are switched on and the keyboard repeat setting.
  • Macros that use the AI (ask_ai, or read_text with engine="ai") are refused at export, naming the steps. The two local readers travel inside the file.
  • If the macro or a watch row sends to Telegram or Discord and one is configured, Recorder asks whether to include those credentials; anyone holding the file can read them. Without them the notify steps and alerts send nothing. Telegram and Discord need Basic or Pro: on Free the question is not asked and the details never travel.

Stopping an exported program

Your Stop playback key as it was bound when you exported, F6 unless you changed it. A Stop key you turned off falls back to F6, because a macro that cannot be stopped will not run.

If another application owns that key, the program tries it with Ctrl+Shift, then Ctrl+Alt, and says which before the first step. If none can be registered, the macro does not run at all and reports why.

An exported program contains everything in the macro, including any text you typed. Check for passwords and tokens before sending one to anybody. The file is not code-signed, so SmartScreen may warn the first time it runs.

AI assistant

Describe the macro you want and the assistant writes the script. Nothing reaches your editor until you approve it: read the reply, then press Use or Replace. Every reply is checked by the compiler; if it does not compile, the assistant makes one automatic repair attempt, which spends a credit.

Two modes. Build writes the macro. Plan asks about the job and writes nothing until you press Write the macro; start there for anything beyond a few steps. Ctrl+Enter sends; New starts a fresh conversation and deletes the stored transcript.

Model and Reasoning: leave both on Default. Medium and Highest are different models, not better ones, and more reasoning costs more per turn and rarely changes the script. Use recovery makes the macro find its own way back after a missed click instead of stopping; Add small sleeps after clicks pauses briefly after every click so the next step does not run ahead of the screen. Both are normally left on.

Getting a good answer

  • Capture your crops first. The assistant is told which crop names exist. Without any, it can only write coordinates.
  • Say what the screen looks like, not just the goal. "Click Refresh All, wait for the status bar to say Done" beats "refresh the spreadsheet".
  • Refine in conversation. "Wait for the Save dialog instead of sleeping" is a normal follow-up.

Credits

Credits are spent by whatever reaches the server: assistant turns (including the repair attempt), ask_ai steps, AI watch rows, read_text with engine="ai", and every step of an agent run. Recording, playback, image anchors, the two local text readers and export never cost one. Your balance is shown beside the sign-in state, in the assistant panel and on your account page; each AI step writes its charge into the run log. Plans and credit packs are on the pricing page.

Every AI step in a macro (ask_ai, read_text with engine="ai", an AI watch row) costs credits, needs a signed-in account, and blocks export. An exported program has no account to bill.

Agent

The Agent tab is the third view. Type a goal and the AI carries it out on your desktop, one step at a time, checking the screen after each step. This is computer use, on your own desktop, with the real mouse and keyboard. It is best at short, visible jobs on one screen — open a page, fill in a form, click through a few screens; long or unusual work is better recorded as a macro. Watch it the first few times.

Every step is one AI call, billed in the same credits as ask_ai — including the steps of a run that does not get there. The agent sees only the screen; text on that screen is never an instruction to it.

It is not the assistant. The assistant writes a macro you keep and replay; the agent does the job now and leaves nothing behind.

Running a job

  1. Type the goal: open the downloads folder and sort it by date. Save keeps it in the Saved list; Delete removes one.
  2. Press Start or Ctrl+Enter. Recorder asks once per run, Let the agent take over?, repeating the goal and what it may use. It will not start without a Stop playback shortcut; see Playing back.
  3. Watch the timeline. Each step shows what the agent saw, its verdict on the step before (yes, no or unclear), what it is doing now, and what it cost. The footer keeps the run total and your remaining credits.
  4. Press Stop, or your Stop shortcut, at any time.

A run ends Finished, Stuck or Stopped, with its credits, its steps and the reason: a step that failed three times, forty steps without finishing, the credit cap, or your Stop key.

When the job is a question (tell me which plan the account is on) the answer comes back as a report: a message box, or whichever of desktop, Telegram or Discord Settings → Notifications has switched on.

The options

ModelDefault, Medium or Highest. Highest is the recommended setting and the one a new profile starts on.
Credit optimizerSends a smaller screenshot each step, about a fifth cheaper per run. Turn it off if the agent misses small text.
Learn it as a macroNot available in this build; the box is greyed out. The agent leaves no macro behind.

What it may do

The line under the boxes says what the agent may use: mouse, keyboard, timing, launch and message by default. Permissions opens Settings → Agent, where each is a tick box under It may:

PermissionDefault
Move and click the mouseon
Type on the keyboardon
Waiton
Open files, folders and web pageson
Report what it foundon
Run commandsoff — leave it off. It has not been tested enough yet.
Restart or shut down the computeroff

Leave the last two off. A command line with your rights can do anything you can, and the agent cannot tell a safe command from a destructive one.

It stops when sets the limits: steps in a run, failures of one step, and credits per run (0 for no limit). Pace sets how long the agent waits for the screen to settle, between steps, and between the actions within one step. Raise the last one for an application that cannot keep up with click-then-type.

Settings

Click Settings in the menu strip. Seven tabs: Hotkeys, Recording, Keyboard, Window, Notifications, Logging, and Agent. OK applies, Cancel discards, and Restore Defaults resets everything except your Telegram and Discord credentials.

Hotkeys

The seven global hotkeys are defaults, not fixed. Each can be reassigned or disabled here, and this tab is the only place that shows the current settings. Click a field and press the combination; Esc clears it. Two actions may not share a key, and Recorder warns if another application has claimed one. The defaults are under Playing back.

Recording and Keyboard

Recording holds the capture toggles and the test countdown. Keyboard controls whether a held key repeats like the real keyboard: off by default, with delay, rate, an optional wander, and Match this PC to copy your Windows settings. The setting travels with an exported program.

Window

Hide-while-running, Use every monitor, the dark theme, and Text size from 85% to 140%. The last two apply live.

Notifications

Off by default. Once enabled, Recorder can tell you when a recording finishes, when playback finishes, and when playback is aborted, by desktop notification, Discord, Telegram, or any combination. Desktop notifications are on every plan; Telegram and Discord need Basic or Pro. On Free the two boxes are greyed out with the reason beneath them, and a token or webhook you enter is kept for when your plan covers it. Monitors use the same channels, with per-row switches. Image quality sets how large attached screenshots are, from Very low to Lossless.

Discord

One field: the webhook URL.

  1. Make a webhook in Discord. Open Server Settings → Integrations → Webhooks, choose New Webhook, pick the channel, name it, and press Copy Webhook URL. You need Manage Webhooks permission.
  2. Paste it into Recorder. Settings → Notifications, tick Discord, paste the URL.
  3. Send a test. A message should appear in the channel within seconds.

The webhook URL is a password. Anyone who has it can post into that channel. If it leaks, delete the webhook in Discord and make a new one; exporting a program that uses it asks first.

Telegram

You need a bot token from BotFather and the numeric chat id of the conversation. Both go in Settings → Notifications.

The timed screenshot

Send a picture of the screen while watching posts a screenshot to Telegram and Discord every N seconds, of the area you pick or the whole screen. It runs only while Start watching is on and never uses the desktop balloon.

What gets sent

AlwaysA line of text saying what finished, or the message you set on a monitor row.
OptionallyA screenshot, if you turn it on for a monitor row or enable the timed screenshot. It shows whatever was on screen in the area chosen at that moment.
NeverYour macro, your scripts, your crops, or anything about your account.

Messages go straight from your computer to Discord or Telegram, never through our servers.

Diagnostic log

View → Log shows what a run is doing, and Settings → Logging chooses what it records. Turn on Every step first when a macro misbehaves. Text contents records the characters read off your screen in plain text; turn it off again once you have found the problem.

Your licence

One computer at a time

To move to another machine, sign out on the old one, then sign in on the new. If the old computer is gone, sign in on the new one anyway: once the old machine has not checked in for 30 days, the new one takes its seat.

Working offline

A dropped connection does not stop a run; the strip shows “Signed in (working offline)” and Recorder keeps working. It stops only after it has been offline for a long while.

Features your plan does not cover

Six things are covered by plan: the AI features, reading text from the screen, the screen watchdog, exporting as a program, Telegram and Discord alerts, and the extras on the auto clicker (humanized clicks, jitter, scatter, sequences of points and the wander box). A control your plan does not cover turns red, and clicking it explains why; the two notification boxes and the extra clicker controls grey out with a padlock and the reason beside them.

Changes take effect within about half an hour. The Account dialog shows your plan and your credit balance.

Troubleshooting

SymptomUsual cause and fix
Clicks land in the wrong place Recorded coordinates are absolute (see Recording) and the window moved or the resolution changed. Replace click(x, y) with click_crop("name").
Works when stepped through, fails at full speed The application needs a moment. Clicks already rest on the target for pre_click_ms=200; try 400–600 on the failing click, or better, wait_for the thing you are about to use.
wait_for times out although the image is visible The crop includes background that has changed, or the control is themed differently. Re-capture more tightly, lower confidence, or try match="shape". The Image searches log topic shows the scores.
read_text returns nonsense No region, or too large a one. Tighten it to just the text, and try engine="tesseract" if the built-in reader still struggles.
An ask_ai step or AI watch row answers nothing It needs a signed-in account with credits, and a region= small enough that the thing is legible.
The agent will not start No Stop playback shortcut is bound (the dialog says The agent needs a stop key). Set one in Settings → Hotkeys. It also needs a signed-in account with credits.
The agent ends Stopped or Stuck It reached a limit (one step failed three times, forty steps, or the credit cap) or the model gave up; the last line says which. Split the goal into smaller jobs, turn off the credit optimizer, or raise the limits in Settings → Agent.
The keyboard is stuck after a run A key_down without its key_up. Press and release the modifier by hand, then fix the macro.
Playback stops with an unknown-label error A goto, on_no, on_fail or wait_any arrow names something no step is labelled and no section is called. Check the spelling; labels and section names are case-sensitive.
A shortcut key does nothing Reassigned, disabled, or another application registered it first; Windows will not share a global key. Check Settings → Hotkeys.
An exported program will not stop with F6 Something else owns your Stop key, so the program armed it with Ctrl+Shift or Ctrl+Alt and said so before it started. The keys travel as bound in Settings → Hotkeys at the time of export; re-export after rebinding.
Nothing happens when playback starts The target application runs as administrator and Recorder does not. Start Recorder as administrator too.
A button is red Your plan does not include that feature. Click it; the message says which. See Your licence.
An exported program does nothing visible It was exported without the control window, so it runs the moment it is opened and closes when the macro ends. Export it again with Show a control window ticked: Run, Pause and Stop are then on screen, and anything that goes wrong is shown in a message.

Still stuck?

Email support@mynarecorder.com. Saying what you expected and what happened instead, with the log if you have one, gets you a real answer in one reply.