Sign in
When Mobster opens, it shows “Sign in to Mobster” and “Your plan and your Macs live in your account.”1
Choose how
Choose Continue with Apple, Continue with Google or Continue with GitHub. Or type your email and choose Continue with email.
2
Apple, Google or GitHub: finish in your browser
“Apple, Google and GitHub open your browser to sign in.” The button stays pressed, and Mobster says “Finish signing in with GitHub in your browser. Mobster comes back by itself.” Sign in on Apple’s, Google’s or GitHub’s page. If you closed the tab, Open the page again opens it. Cancel stops.
3
Email: enter the code
Mobster says “Check your email”. An email from Mobster (hello@mail.mobster.dev) brings a 6-digit code and a Sign in to Mobster button. Type or paste the code; six digits sign in by themselves, and on a Mac, Safari and Mail can fill it in for you. Or open the email on this Mac and choose the button: your browser hands the sign-in back to Mobster. The code and the button work once, for 10 minutes, and a new email replaces the last one. Send a new code sends another, at most one a minute. Use another way goes back to the buttons.
4
Back in Mobster
After a browser sign-in, the browser says “You’re signed in” and “Go back to Mobster. You can close this tab.” Mobster comes forward by itself and says “Checking your account” for a moment. A new account goes on to Setup. An account that had a plan before, on a Mac that was set up before, gets the plan sheet over the app.
Product updates and the changelog
Under the buttons, Send me product updates and the changelog is a box you can tick. It starts unticked, and signing in works the same either way. Ticked, your account’s email gets product updates and the changelog as soon as you’re signed in, with no email to confirm: Apple, Google or GitHub already confirmed the address, or your code did. Mobster keeps a record of the choice: when, from where, and the words you agreed to (Privacy). Turn it on or off any time in Settings › Account › Product updates. Every update has an unsubscribe link, and your mail app can show a one-click unsubscribe. Emails about your account, such as receipts and team invites, come either way.No password
There’s no password to make, keep or leak. Apple, Google and GitHub sign you in with an account you already have, in your browser, so Mobster never sees their passwords. With email, the code proves the inbox is yours. What each way gives Mobster:
Mobster uses the email and the ids to sign you in, and doesn’t use the names or photos. Privacy has the rest.
One account per email. Google, GitHub and an email code that share a verified address sign in to the same account, with the same plan and Macs. Each provider says which of its addresses it verified, and GitHub can match any of yours. An address nobody confirmed never joins an account.
Hide My Email works. With Apple, you can share a private relay address instead of your email. Mobster works the same with it, and its sign-in code reaches the relay address too. A relay address is its own address, so it’s its own account: sign in the same way on every Mac. Stripe’s receipts need an address that accepts their mail, so Checkout asks you to type one when you buy.
Sign in the same way on every Mac, so your plan can move between them.
Plans
A new account sets up its iPhone before it picks a plan, so the free trial doesn’t run while Xcode downloads or the helper installs. Setup works without a plan. Tasks don’t: until you have one, Mobster’s agent answers only Setup’s requests from the app, and refuses a task with “Choose a plan or start your free trial in Mobster to run tasks. Setup works without one.”What needs a plan
Every task the Mac app’s agent runs needs an active plan or free trial, wherever it starts:- the app’s task box, a conversation, a workflow you run and a schedule that fires;
- Mobster Remote;
- the local API (
POST /api/runs,/v1/runs), with any token, including the one in the token file beside Mobster’s data; mobster chatand your coding agent’sphone_taskandrun_workflowwhile they talk to the app.
403 plan_required with one sentence that says what happened and what to do. When the 7-day free trial has ended, it is “Your 7-day free trial on this Mac has ended, so Mobster did nothing: choose a plan at mobster.dev/pricing, then ask again.” When the Mac has no plan at all, or a paid plan has ended, it is “This Mac has no active Mobster plan or free trial, so Mobster did nothing: open Mobster to start your free trial or sign in, or choose a plan at mobster.dev/pricing, then ask again.” On a Mac whose seat moved to another of your Macs, it names that Mac: “Mobster moved to Studio, so it did nothing on this Mac. Mobster runs on one Mac at a time: to use it here, open Mobster on this Mac and choose Move it back, then ask again.” If the agent can’t read or verify the plan, it gives the second sentence too. A scheduled run at that time is skipped and shows Couldn’t start.
The offline grace is 7 days after the last check for every plan, and a plan’s own end comes first when it’s sooner. A plan that ends while a task runs doesn’t stop that task.
The agent inside the app
Mobster’s agent ships inside the app, at/Applications/Mobster.app/Contents/MacOS/mobster-agent. It checks the same plan when you run it yourself, from a terminal or from your coding agent’s MCP settings:
verify and test reach a real iPhone only through --device. Without it they stay on a simulator and need no plan, and so does test --sim or a --device that names a simulator. With --device, the agent looks the name up in mobster devices before the run starts. It asks for the plan when the name is a real iPhone, when no device or two devices have that name, and when --testflight is given or the lookup fails.
It reads the plan from the app’s data folder, whatever --data-dir names, so the app must be signed in on this Mac. Copying an account.json from elsewhere doesn’t help: the plan is signed for one Mac and one account.
Mobster’s engine and research are open source under MIT: you can read them, and run the engine from a source checkout as research, with no account. Mobster for Mac and the agent inside it are the paid product.
When your iPhone is ready, the plan sheet opens over your app. It says “Your iPhone is ready” with your first job under it. If this account and this Mac haven’t had a free trial, it says “Start your 7 days free to run your first job. No card needed.” and offers the trial. Otherwise it says “Choose a plan to run your first job.” and offers Monthly, Yearly and Lifetime, with Yearly chosen. See plans now, at the foot of Setup, opens the sheet before the iPhone is ready.
An account whose plan or trial ended, or a Mac that was set up before, gets the sheet right after sign-in: “Try Mobster free for 7 days” when the trial is on offer, otherwise “Choose a plan”.
Every phone is included in every plan. Prices are in US dollars, and Mobster shows the price Checkout charges at that moment. Pricing and plans compares them with the CLI.
1
Choose a plan
Pick Monthly, Yearly or Lifetime on the sheet. The button reads Subscribe for $12 a month, Subscribe for $99 a year or Buy for $149. Checkout opens in your browser, and Stripe handles the payment.
2
Pay in your browser
The sheet says “Mobster opens by itself when the payment goes through.” If you closed the tab, Open checkout again opens it. Choose another plan goes back.
3
Back in Mobster
The browser says “You’re all set” and “Mobster on your Mac opens by itself. You can close this tab.” The sheet goes, and Mobster is ready to use.
The free trial
You get 7 days free on your own iPhone, once per person: one trial per account, per Mac, per iPhone and per sign-in. It needs no card, and nothing is charged when it ends. Mobster for Mac starts it, and a new account sees it only once its iPhone is ready, so the 7 days don’t run while Xcode downloads. Every phone is included in the trial, as in every plan.1
Start the trial
The sheet says “Try Mobster free for 7 days” and “Everything Mobster does, on your own iPhone. No card, and nothing to cancel.” Under Start 7 days free it says “Nothing is charged. On Oct 21, choose $12 a month, $99 a year or $149 once.” The button starts the trial in Mobster, with no browser and no checkout. Buy a plan now shows the plans instead, and Start 7 days free instead goes back.
2
During the trial
Your email at the foot of the sidebar opens a menu that says “Free trial, 5 days left”. Its Billing opens Settings › Billing: “Free trial until Oct 21. Then choose Monthly $12, Yearly $99 or Lifetime $149. Nothing is charged until you choose.” The three plans are under that line: “Your plan starts the day you pay, and the free trial ends then.”
3
The day before it ends
A note at the top of the window says “Your free trial ends tomorrow” and “Choose a plan to keep using Mobster after that. Nothing is charged until you choose.”, with Choose a plan, which opens Settings › Billing.
- At the end. Nothing is charged. The sheet says “Your trial has ended” and “Pick a plan to keep going. Your conversations and settings are still here.”, with Monthly, Yearly and Lifetime.
- A plan during the trial. Pay for any plan from Settings › Billing, where the plans are under the trial’s line, and it starts that day. The trial’s remaining free days end then. Lifetime keeps its full refund within 14 days of buying.
- A second trial. An account, a Mac, an iPhone or a sign-in that had a trial gets the plans without it, and the sheet says which, such as “This iPhone has had its free trial. Choose a plan to keep going.” Plans are never affected.
What counts as one trial
When you start the trial, Mobster for Mac sends Mobster’s account service these, and uses them for nothing else:
The account service hashes each value again with a secret key of its own, and keeps only that. It also keeps a keyed hash of each of your sign-ins’ id and email, at Apple, Google or GitHub, or the address you signed in with by email. The database holds no serial number, UDID or email for the trial; a hash without the key can’t be turned back into one. The plan check every 10 minutes sends the same hashes, without the DeviceCheck token, so the sheet knows whether to offer the trial.
Plans don’t use any of this: a plan you buy works on the Mac signed in to your account, with any iPhone. A used iPhone or Mac that had a trial with its last owner doesn’t get another; write to support@radish.software if that’s you.
One Mac at a time
Mobster runs on one Mac at a time; move it to another Mac in one click. Your plan and your free trial belong to your account, not to a Mac, so they move with it, and a trial keeps its end date. Two Macs that run Mobster at the same time, such as two phone stations, need a plan each. On another Mac. Sign in the same way. Mobster says “Mobster is active on Studio” and “Mobster runs on one Mac at a time. Use it on this Mac instead?”, with that Mac and when it was last used, such as “Last used today”. Use on this Mac moves it, and this Mac opens with your plan. Signing in alone never moves it. On the Mac it left. Mobster stops there within 10 minutes while that Mac is awake and online, or at once when Mobster Remote is on there. A task already running finishes, and no new task or schedule starts. That Mac stays signed in and says “Mobster moved to Studio” and “Mobster runs on one Mac at a time. Move it back to use it on this Mac.”, with Move it back. Moving turns off Mobster Remote on the Mac it leaves: apps connected through it connect again once you move back. Moving again within 15 minutes. Mobster moves at most once every 15 minutes, so two people can’t pass one sign-in back and forth. Inside those 15 minutes, Mobster says “Mobster moved less than 15 minutes ago. You can move it at 3:45 PM.” and the button waits until then. Going from your laptop to your desktop moves at once; only moving straight back waits. Freeing this Mac without moving. Sign out in Settings › Account, or remove the Mac at mobster.dev/account. A removed Mac says “This Mac was removed from your account. Sign in to use it again.” You never have to write to us to move Mobster.A team’s Mac
The Team plan isn’t open yet (Team plan). When it opens, a Mac can be one of your team’s Macs instead of one person’s. An Owner or Admin adds it at that Mac, in Settings › Team. From then on:- It runs on the team’s plan, with or without anyone signed in, and it isn’t anyone’s one Mac. If it was yours, your plan is free to run on another of your Macs.
- It checks the team’s plan every 10 minutes, as your own Mac checks yours, and keeps working offline until 7 days after its last check, or until a trial ends.
- Signing out of your account on it, or signing in with another, doesn’t take it out of the team. Only an Admin can take it out.
- Once the team removes it, it stops running on the team’s plan at its next check. If you’re signed in there, it goes back to your own plan, if you have one.
- Without an active Team plan, a task on it starts nothing and says “Acme’s Team plan isn’t active on this Mac, so Mobster did nothing. An Owner can choose a plan in your account, then ask again.”
mobster-agent run from a terminal, and its MCP tools that act, need a plan of your own.
Adding a Mac to your team
- On the Mac, sign in as an Owner or Admin of the team, then open Settings › Team and choose Make this Mac one of Acme’s Macs. If your team has used the Macs its people bring, Mobster shows the price of one more first, such as “One more Mac is $12 a month”, and adds the Mac only once you choose Add this Mac. A trial that has all its Macs can’t add one: choose a plan first.
- Mobster shows the team’s Owners and their key fingerprints, such as “Sam, sam@acme.com, Key 4F2A 9C10”. Compare them with what an Owner sees in the console under Settings › Keys. If the Owner hasn’t set up the console yet, Settings › Team says so, and Mobster asks for the list every minute until it can show it.
- Choose They match: trust them only when every key matches. This Mac then trusts only member lists that follow from this one. To trust another one, take the Mac out of the team and add it again. Cancel stops adding the Mac, after asking.
- Under Console connection, choose Connect: the console reaches this Mac through Remote, set up as one of the team’s Macs. If Remote on this Mac is set up as your own Mac, Mobster asks first, because the apps and keys you connected to it are removed.
- An Admin confirms the Mac in the console, which signs the next member list with this Mac in it. Until then, Settings › Team says “Waits for an Admin to confirm it in the console”. Settings › Team also shows this Mac’s key, such as “Rack 2 mini, key AE21 6C2E”, for the Admin to compare.
How the console reaches this Mac
The console reaches a team’s Mac through Remote, so Remote must be on for that Mac. Once the Mac trusts the team’s member list, Remote tells the team’s console which phones the Mac has: each phone’s name, state, iOS version and alert codes, under an id that only works within your team. It never sends task words, drafts, results or screens in the clear. When a member opens the console, their browser and this Mac set up a sealed session that only the two of them can read. The member’s passkey signs it, and this Mac checks it against the member list it trusts. This Mac refuses the session, and the console says why, when:- its last good check of the member list is more than 10 minutes old;
- an Admin hasn’t confirmed it yet;
- the policy or this Mac’s switches turn the console off;
- the passkey isn’t one the member list gives that member.
- the member leaves the team or changes role;
- the passkey that signed the session is revoked;
- the console is switched off;
- an Admin takes this Mac out of the member list.
What the console can do on this Mac
Inside a session, the console asks this Mac’s local API for what the member’s role allows, and this Mac checks every request itself:
Members other than Owners and Admins reach only the phones in their groups. A phone outside them doesn’t appear, and a request for it answers as if it didn’t exist. Anything else, such as settings, keys, models, connectors, Remote or taking control of a phone, answers “The console can’t do that on this Mac.”
A task started from the console runs as the member who started it: the task records their member id. It always asks before it sends, buys, posts or deletes, and asks before every change when the team’s policy says so. It runs on Mobster’s agent, never a coding agent, and never as a long task. It never reads Notification Center or uses your connected services. It uses only the apps the policy allows the phone’s groups, and only those the phone’s own list allows. On a phone that’s busy, it’s refused rather than queued. When the policy sets a daily spend cap, the task stops at what’s left of it once the console’s running tasks are counted, and none starts once it’s spent. While the policy lists models, the console starts no task on this Mac: a task can call models besides the agent’s own, and this Mac can’t yet hold them all to a list.
An approval from the console is a passkey signature over exactly the drafts this Mac showed it, made with a fresh prompt for each approval. This Mac acts on it only when all of these hold, and otherwise leaves the task waiting and says why:
- The signature verifies against the member list this Mac trusts, with the member’s own passkey, for this Mac and this task.
- The member may approve drafts for the phone’s group, the team’s policy and this Mac’s switch let the console approve, and, with the policy’s four-eyes rule on, the member didn’t start the task.
- The approval reaches this Mac before its deadline, which is at most 10 minutes after it was signed.
- The drafts are the ones still waiting, in the same order, with the same words: a draft that changed since the console showed it isn’t sent.
- The console showed the drafts as they are. A draft with a word the console sees masked, such as a code, or a phone’s device id, which the console sees as the phone’s team id, is approved in Mobster on this Mac.
- The signature wasn’t used before.
Manage your plan
Settings › Account shows your email and how you signed in, such as “Signed in with GitHub”, Product updates (a switch for product updates and the changelog by email), and this Mac. Settings › Billing shows your Plan:
A Yearly plan reads the same lines as Monthly, with the date a year out. A failed renewal gets 7 days of grace. When the plan expires, the app and the website show it as inactive until renewal is confirmed.
Manage subscription, on a monthly or yearly plan, opens Stripe’s billing page in your browser: cancel, change your card or download invoices. When you’re done, the page says “Go back to Mobster” and “You can close this tab.” After you cancel, you aren’t charged again, and Mobster keeps working to the end of the month or year you paid for. Yearly renews each year until you cancel.
Invoices and receipts › View opens the same billing page, for any plan you bought, to download them.
To get your money back on a lifetime plan within 14 days, write to support@radish.software, or choose Email support beside Refunds in Settings › Billing.
Sign out
Settings › Account › Sign out asks “Sign out of Mobster?”: “This Mac leaves your account, and apps connected to it through Mobster Remote lose access. Your conversations and history stay on this Mac.” Signing out frees your account’s Mac and removes its sign-in from the Keychain. Offline, this Mac keeps Mobster until you remove it at mobster.dev/account, another Mac takes it with Use on this Mac, or you sign in here again. On mobster.dev, signing out clears the website session across tabs that share browser storage. A token refresh or sign-in response already in flight cannot restore the cleared session. Website sign-out does not remove a Mac from your account.Working offline
Mobster keeps a signed copy of your plan on each Mac and checks it without the internet, so it opens at once, online or not. When it’s online, it checks your account with Mobster every 10 minutes while it runs. Offline, or with Mobster’s account service blocked, every plan keeps working for 7 days after the last check, lifetime included (the owner, 16 Oct 2026; it was 90 days for lifetime). After 7 days without a check, Mobster starts no task until it checks in again. A task already running finishes. The app says “Mobster couldn’t check your plan for 7 days” and “Connect to the internet, then try again.” with Try again, and a task asked of the agent gets “Mobster couldn’t check your plan for 7 days, so it did nothing. Connect to the internet, then try again.” A plan that ends sooner still ends then: a monthly or yearly plan a week past the period you paid for, and the free trial at its end, with no week after it.Delete your account
Write to support@radish.software from the email on your account, or tell us which account it is if you used Hide My Email. We delete the account, its Macs and its plan records within 30 days, and Mobster Remote’s records for its Macs with them. Stripe keeps payment records as tax law requires. Cancel a monthly or yearly plan in Manage subscription first, or ask us to in the same email. Deleting an account doesn’t refund it, and it can’t be undone. What the account holds, and what it never holds, is in Privacy and your data.Troubleshooting
Mobster says these under the buttons or in the card, and in Settings › Account and Billing.
When a plan ends, the plan sheet comes back over your app and says why. Under each title it says “Pick a plan to keep going. Your conversations and settings are still here.”