Repository navigation
Releases: Yoni-Raich/hey-mike
Release list
Hey Mike v0.15.0
Hey Mike 0.15.0
One Mike for your phone and your computers, now also on your Claude subscription.
Mike on your computers
- Start a chat on a Windows or Linux (Ubuntu) computer from your phone, over SSH at home or through a VPN. A guided setup walks through adding the computer, a VPN address and Tailscale approval.
- Pick a project folder when you start a chat, or add one. A chat keeps its computer and folder in its header, and Mike can still use the phone from there.
- Continue a conversation that is open on the computer: Mike offers a fork, or says why it cannot, instead of starting over.
- Voice works with computers, and the plus attaches a photo, a camera shot or a file in a computer chat too.
- Files move between devices: ask Mike to copy a file from the computer to the phone and watch it arrive with progress, speed and time left. A build made on the computer can be copied to the phone and installed from there.
- Pictures and videos on a computer load when you look at them, with a button to save them on the phone.
Your Claude subscription
- Sign in with your Claude subscription and run Mike on Claude: on the phone, or on a computer's own Claude Code. The Claude models appear in the same model menu as Codex, with their versions.
- A chat can move between Codex and Claude from one turn to the next. Voice works in Claude chats too.
- The usage widget and the usage view show the Claude account and its limits.
- Mike says where your data goes for each engine. The Claude sign-in and its program are kept out of backups.
Chats
- Chats run in parallel with no limit. Only the phone's screen goes to one chat at a time, and a chat waiting for it says "Waiting for the phone".
- A searchable chat library with a rail of your devices, projects that fold open over their chats, and a file transfer banner. New chat asks where Mike works. Blank chats are not kept in history.
- The plus opens "Add context" with Camera, Photos and Files. The model choice is a small menu over its chip. Long press copies a reply.
- Mike can ask you a question with buttons (
ask_user), also from a notification, and can show pictures and videos in the chat (show_media). - Open Mike live over the app you are in, with its screen text.
Codex
- Updated the Codex runtime to 0.159.2, so GPT-6.1 appears for eligible accounts.
- A Codex retry no longer ends the run, and an error in one chat no longer ends another.
- Text direction follows the words on right-to-left phones. The Wireless debugging switch shows its real state and turns it on in one tap. A newer chat database no longer crashes the app.
Package: dev.androidagent.app
Version: 0.15.0
Version code: 1100
This is the regular Hey Mike app (Prod Release). It updates 0.14.0 in place using the same Android test certificate. Production-key signing remains unfinished.
Checks
- Merged
devintomainthrough PR #110. Prod release documentation and phone validation landed through PR #111; both Android CI checks passed. The release tag targets main commitfc53294bdd8ea9a199009218299a288b0421635d. - Full local gate passed:
test assembleDevRelease assembleDevDebugAndroidTest :voice:lintDebug :app:lintDevDebug --no-daemon. - Prod gate passed:
:app:assembleProdRelease :app:lintProdRelease :app:testProdReleaseUnitTest --no-daemon --console=plain; 137 unit tests passed, lint had 0 errors / 20 warnings. - Local Gradle XML reports contain 2,044 test executions, zero failures or errors, and 16 skips. This total includes build variants.
- Runtime preparation tests: 15 passed.
git diff --checkpassed. - APK package/version, 16 KB page alignment and APK Signature Scheme v3 verified. The release APK is not debuggable.
- APK SHA-256:
ef3506026fac20687a514f45ffba9927738a53cba219a10679776bfdeb4dc8b4. - Installed this exact signed APK over 0.14.0 on a Nothing A059 (Android 16). Read-back of the installed APK matches the candidate hash; all eight ARM64 native libraries were extracted, including the app-server and code-mode helper.
- An on-device Codex task made eight device calls, successfully opening Settings through
apps_settings/open_app. Both the tool success result and Settings in the foreground were observed.
Remaining checks
The smoke task opened Settings, but its reply stopped before giving the Android version number. Production-key signing, the updater flow, broad phone UI and device-tool coverage, voice, and the computer/Claude account paths are not fully tested by these checks.
Hey Mike v0.14.0
Hey Mike 0.14.0
A major update since 0.13.0: standing rules, more ways to work with Android, several Codex accounts, a simpler setup, and a smoother chat.
Standing rules and automations
Tell Mike what should happen, when it should happen, and which conditions must be true.
- Schedule rules for a time, selected weekdays, or a repeating interval.
- React to charging, device state, or notifications from an app you choose.
- Run a saved workflow, open an app screen, show a notification, ask Mike to think, ask you a yes/no question, or start a voice conversation.
- View rules in the side panel, with their status, next run, recent activity, and reasons they cannot run.
- Create and change rules in plain words. Edit times, days, text, and values with a form instead of raw JSON.
- Run a rule now, turn it on or off, or delete it after confirmation.
- Preview a rule with a dry run and see why it would or would not fire.
- Rules that need your answer wait for you to unlock the phone. Late scheduled runs can still run once within their allowed window.
- Cooldowns, daily limits, and protection against duplicate events keep rules from firing too often.
- Each rule that asks Mike to think keeps its own chat. Device actions use the same visible control card and Stop button as a normal task.
Place-based rules can be saved, but remain inactive: location tracking is not available yet.
New Android tools
Mike can now use Android data and system screens directly, with less tapping:
- Contacts: find and read contacts, or open a new contact draft.
- Calendar: read events and open a new event draft.
- Files and media: find, inspect, open, and share media; read and write text files in the chat workspace.
- Communications: prepare SMS and email drafts, or open the dialer with a number.
- Apps and settings: find installed apps, read app details, open apps and settings, and request the permissions a task needs.
Drafts open in the relevant app for you to finish. Android permissions are requested when needed, without a second Mike permission prompt.
Faster actions and stronger workflows
- Mike can read a screen once and run a short sequence of actions in one call, such as tapping a field, typing, and pressing a button.
- Each step finds its target on the current screen. If a step fails, the sequence stops and reports what already happened.
- Saved workflows can call the new Android tools and use their results in later steps.
- A resumed workflow keeps completed call results, so it does not repeat those calls just to rebuild context.
- Existing chats can use tools added by an app update.
- Longer actions can wait for their expected completion time and finish waiting as soon as the result appears.
Several accounts and a quota widget
- Save several Codex accounts and switch between them without removing your chats.
- Add another account or remove a saved one from the account picker.
- Quota and model choices refresh when you switch accounts.
- A new home screen widget shows the remaining quota for every saved account. Inactive accounts show their last reading and its age.
- Fixed the crash that could happen while switching accounts.
GPT-6 model choices
- Updated the Codex runtime so eligible accounts can see GPT-6 Astra, Sol, and Luna.
- The model picker follows the models available to your account.
A smoother chat and floating card
- Replies follow the end of streaming text, with fewer scroll jumps.
- Scroll up to pause following; use the jump-to-latest button to return.
- Clearer Markdown: code blocks, quotes, links, headings, and tables.
- The floating control card shows Mike's own messages with Markdown while it works in another app.
- The side panel has chat search, chats grouped by day, rule status, and an indicator when a rule needs attention.
- Opening the panel moves the chat aside and keeps your place visible.
Easier first setup and clearer settings
- A welcome and consent flow explains phone control and data use.
- First setup focuses on sign-in and screen access. Mike then offers help with the floating Stop button, notifications, and Wireless ADB setup.
- Microphone and other permissions are requested when a task needs them.
- Settings are grouped by abilities, how Mike works, account and privacy, and advanced options.
- A Privacy and consent page lets you review and withdraw consent.
Session records and reliability
- Each chat now has a full session trace in its Files view: your messages, Mike's visible replies, tool names, full parameters, results, and linked image files. You can open or share it.
- Task summaries show time spent thinking, using the phone, and waiting for your answer.
- Text writes are checked against the field value, and screen results give clearer action information.
- Stronger workflow validation catches wrong app targets and invalid inputs before running them.
- Update checks verify the app package, version, and signing certificate before installation.
- Reading the screen uses the supported observation path to avoid changing the phone's rotation lock.
For Dev users
- A separate Dev app can stay installed beside the release app, with its own icon and nightly update channel.
Package: dev.androidagent.app
Version: 0.14.0
Version code: 1019
This APK uses the existing Android test certificate.
Dev Nightly
Automated debug build from the dev branch.
Commit: 72bbe60
Version code: 1039
Version name: 0.14.0-dev.72bbe6030a5a
Package: dev.androidagent.app.dev
Hey Mike v0.13.0
Highlights
- workflow_runner runs saved declarative workflows with live selectors, verification, safe resume, confirmations, parameters, and suggestions.
- open_intent supports Android actions and typed extras.
Validation
- Full Gradle gate passed: tests, assembleDevRelease, assembleDevDebugAndroidTest, voice/overlay lint, and app lint (832 actionable tasks).
- python -m unittest tools.test_prepare_runtime: 5 tests passed.
- APK package dev.androidagent.app.dev, versionCode 27, versionName 0.13.0.
- APK alignment and APK Signature Scheme v3 passed with the local Android debug key.
- SHA-256: B965F9EC93A16873DB2E95B433006DD05BF9A9A7264C09ADB027A91D7C5BBDD7.
- The exact APK was installed on Xiaomi 2201116TG (Android 13), and a task opened Settings and reached About phone showing Android 13.
This is a test-only debug-signed Developer Preview, not a production-signed release. WhatsApp, voice, Accessibility control, and production signing were not tested for this asset.
Hey Mike v0.12.0 — Developer Preview
Hey Mike v0.12.0 — Developer Preview
Hold the power button to talk to Mike, and send approvals you can see, answer by voice and remember.
Key Changes
- Mike as your digital assistant (#62): Pick Hey Mike under Default apps > Digital assistant app. Holding the power button then opens a live voice conversation with Mike instead of Gemini.
- The voice screen comes up the moment you hold the button. The power button's edge lights up and Mike's sphere flies in while it starts.
- A press opens a new chat unless the open one is empty, and End voice cancels it during setup.
- It never opens over the lock screen. "Hey Google" stays with Google.
- Settings > Digital assistant shows whether it is on and opens the picker.
- Approvals you can see and answer by voice (#61):
- The approval card is pinned above the message box and shown on the voice screen, instead of out of sight at the top of the chat.
- It says who gets which message.
- Say or type "yes" / "כן" or "no" / "לא" to answer.
- Mike asks at the right moment (#61): Opening a chat with the text typed in no longer asks; pressing Send does. "Always allow for " or "Always allow sending in " stops the asking. You can review and remove those in Settings > Sending approvals, and the list is signed with an Android Keystore key, so the agent cannot add to it.
- Smoother sends and app opening (#61):
- After you allow a send, Mike returns to the open chat and presses Send in the same turn.
- Mike knows the phone's date, time and time zone.
- Opening an app waits until the app is in front.
- Opening an app or a link works with the accessibility service off.
- Known gap: with Wireless ADB on, shell and key events can still send without asking.
Updating keeps your sign-in and every chat.
Artifact
- Package: dev.androidagent.app.dev
- Version: 0.12.0 (versionCode=26)
- Asset: hey-mike-0.12.0.apk
- SHA-256: FAF22D892F7EE0C244D92DC09E0AA1011C76AF1192FE4E4809EEB7E2324E0E89
- Architectures: ARM64 and x86_64
- Signing: APK Signature Scheme v3 with the local Android debug key; test-only, not production signing
Validation
- Full Gradle gate passed on merged main:
.\gradlew.bat test assembleDevRelease assembleDevDebugAndroidTest :voice:lintDebug :overlay:lintDebug :app:lintDevDebug --no-daemon(832 actionable tasks, 0 lint errors). python -m unittest tools.test_prepare_runtimepassed (5/5 tests).git diff --checkclean.- APK metadata (label "Hey Mike Dev", not debuggable, versionCode 26), zip alignment, and v3 signature verification passed.
libcodex_codemode.sois packaged for ARM64 and x86_64, and the manifest carries the voice interaction service and theACTION_ASSISTentry. - Installed on a physical phone: this exact asset on a Nothing A059 (Android 16), with the sign-in kept. Every
lib*.sowas in the app's native library folder, the Accessibility service bound as "Hey Mike Dev", and Android listed Mike as a digital assistant beside Gemini. - Checked with #62 debug builds:
- Redmi Note 11 Pro (Android 13): the assist entry opened live voice from a cold start, from home and from inside the app, and a real power-button press reached Mike's session.
- Nothing A059: a screen recording showed the power-button entry animation through to a connecting call.
- Not verified on this asset: a device-tool agent task and a real power-button press. Not checked on Samsung, where the side key only allows Bixby.
Hey Mike v0.11.0 — Developer Preview
Hey Mike v0.11.0 — Developer Preview
Mike stops saying it needs ADB, remembers your preferences across chats, and turns "message dad" into one step.
Key Changes
- No more "ADB is not connected, so I can't" (#59): Screen control runs on the accessibility service, and Wireless ADB is an optional extra. Mike was still told otherwise in several places:
- Every chat received an old, ADB-era copy of its instructions.
- The per-turn status called itself "ADB availability".
- A tap or typing problem fell through to a disconnected ADB and came back as "ADB is not connected".
- Mike now reads the real reason and does the task.
- Wireless ADB is no longer a setup step (#59): The chat stops showing "1 thing to finish before the agent can run" on a phone without it.
- Quick actions (#59): Mike saves each contact's number and each deep link that worked. After that, "send dad a message", "call mom" or "navigate home" becomes one ready intent, with no contact search and no walking through the app. It ships with WhatsApp, SMS, dialer, Google Maps, Waze, web and YouTube actions, and Mike adds new ones as it learns them. Messages still wait for your approval in the app.
- Preferences shared by every chat (#59): Preferred apps and places used to be saved per chat and were lost in the next one. They now live in one place, and a preference you already taught an older version carries over.
- Simpler guidance (#59): One operating manual and four focused skills. Typing and scrolling guidance now match how the accessibility service actually works.
Updating keeps your sign-in and every chat.
Artifact
- Package: dev.androidagent.app.dev
- Version: 0.11.0 (versionCode=25)
- Asset: hey-mike-0.11.0.apk
- SHA-256: 72A8A4CCF4613A89DD723E26DEB7B296B8573150133BAED706E36D8E8EC26ED6
- Architectures: ARM64 and x86_64
- Signing: APK Signature Scheme v3 with the local Android debug key; test-only, not production signing
Validation
- Full Gradle gate passed on merged main:
.\gradlew.bat test assembleDevRelease assembleDevDebugAndroidTest :voice:lintDebug :overlay:lintDebug :app:lintDevDebug --no-daemon(832 actionable tasks, 0 lint errors). python -m unittest tools.test_prepare_runtimepassed (5/5 tests).git diff --checkclean.- APK metadata (label "Hey Mike Dev", not debuggable, versionCode 25), zip alignment, and v3 signature verification passed.
libcodex_codemode.sois packaged for ARM64 and x86_64. - Installed on a physical phone: this exact asset on a Redmi Note 11 Pro (Android 13, HyperOS 1.0), with the sign-in kept. The helper was in the app's native library folder, the Accessibility service bound as "Hey Mike Dev", and "Open Settings and tell me the Android version" answered Android 13.
- Checked on the same phone with the #59 debug build, Wireless ADB unpaired:
- A Chrome search completed.
- Mike answered that ADB is off but it can control the phone.
- A preference saved in one chat was known in the next.
- "Open the dialer for test guy" took two actions using a saved contact.
- Not verified on a phone: sending a WhatsApp or SMS message end to end through quick actions, to avoid messaging a real person.
Hey Mike v0.10.1 — Developer Preview
Hey Mike v0.10.1 — Developer Preview
Voice mode now speaks as Mike.
Key Changes
- Voice mode speaks as Mike (#58): In a live voice conversation the caption labels the agent MIKE instead of CODEX, the status reads "Mike is speaking", and the notification says "Talking with Mike".
- Readable title in voice mode (#58): The chat title at the top of voice mode was drawn in dark text on the dark background. It is readable again.
Updating keeps your sign-in and every chat.
Artifact
- Package: dev.androidagent.app.dev
- Version: 0.10.1 (versionCode=24)
- Asset: hey-mike-0.10.1.apk
- SHA-256: 0CECB9AD07C1B1128507043C47820556C294656E10DEB2F56FFEF399A0ECBB46
- Architectures: ARM64 and x86_64
- Signing: APK Signature Scheme v3 with the local Android debug key; test-only, not production signing
Validation
- Full Gradle gate passed on merged main:
.\gradlew.bat test assembleDevRelease assembleDevDebugAndroidTest :voice:lintDebug :overlay:lintDebug :app:lintDevDebug --no-daemon(832 actionable tasks, 0 lint errors). python -m unittest tools.test_prepare_runtimepassed (5/5 tests).git diff --checkclean.- APK metadata (label "Hey Mike Dev", not debuggable, versionCode 24), zip alignment, and v3 signature verification passed;
libcodex_codemode.sois packaged for ARM64 and x86_64. - Installed on a physical phone: this exact asset on a Redmi Note 11 Pro (Android 13, HyperOS 1.0), over v0.10.0 with the sign-in kept. The helper was in the app's native library folder, the Accessibility service bound as "Hey Mike Dev", and "Open Settings and tell me the Android version" opened Settings and reached About phone.
- Not verified on a phone: the new voice-mode labels and title, which need a live spoken conversation.
Hey Mike v0.10.0 — Developer Preview
Hey Mike v0.10.0 — Developer Preview
Android Agent is now Hey Mike. The app has a real name, and so does the agent: it is Mike. The version jumps to 0.10.0 to mark the new name.
Key Changes
- Meet Mike (#57): The agent knows its name. Call it "Mike" or "Hey Mike", typed or spoken, and it introduces itself as Mike: an AI agent that runs on your phone and uses it for you. It says it is software, not a person, and that it runs on OpenAI's Codex models. It answers in the language you write in.
- New name everywhere (#57): The launcher, the Accessibility entry, the notification ("Mike is working") and the floating card ("Approve in Hey Mike") use the new name. The Wireless ADB pairing label is
hey-mike. - New home (#57): The repository moved to Yoni-Raich/hey-mike. GitHub redirects the old address, so apps on v0.7.3 and earlier still find this update.
- Demo in the README (#56): A screen recording at the top of the README shows Mike opening YouTube, searching and playing a video.
Updating keeps your sign-in and every chat: the package id (dev.androidagent.app.dev) is unchanged. If you installed v0.6.1–v0.7.2 from this page, update: those builds cannot control the phone (fixed in v0.7.3).
Artifact
- Package: dev.androidagent.app.dev
- Version: 0.10.0 (versionCode=23)
- Asset: hey-mike-0.10.0.apk (earlier releases used
android-agent-X.Y.Z.apk) - SHA-256: EA49FD1DD40107054FE35A67CC3118549CA8506AC2529EB25D07F8F62AA7B3B1
- Architectures: ARM64 and x86_64
- Signing: APK Signature Scheme v3 with the local Android debug key; test-only, not production signing
Validation
- Full Gradle gate passed on merged main:
.\gradlew.bat test assembleDevRelease assembleDevDebugAndroidTest :voice:lintDebug :overlay:lintDebug :app:lintDevDebug --no-daemon(832 actionable tasks, 0 lint errors). python -m unittest tools.test_prepare_runtimepassed (5/5 tests).git diff --checkclean.- APK metadata (label "Hey Mike Dev", not debuggable, versionCode 23), zip alignment, and v3 signature verification passed;
libcodex_codemode.sois packaged for ARM64 and x86_64. - Installed on a physical phone: this exact asset on a Redmi Note 11 Pro (Android 13, HyperOS 1.0), over the previous build with the sign-in kept. The helper was in the app's native library folder, the Accessibility service bound as "Hey Mike Dev", and "Open Settings and tell me the Android version" opened Settings and reached About phone. On the same code, "Who are you?" was answered: "I'm Mike, an AI agent that runs on your Android phone and uses it for you." Other phones were not tested.
Android Agent v0.7.3 — Developer Preview
Android Agent v0.7.3 — Developer Preview
This release fixes device control in the published APKs. From v0.6.1 to v0.7.2, the agent in a downloaded APK could chat but could not read the screen, tap or open an app. If you installed any of those versions from this page, update to v0.7.3.
Key Changes
- Device control works in release APKs (#55): Codex runs tool calls for code-mode models through a helper process that the app-server looks up in the app's native library folder. The helper was packaged as
codex-code-mode-x.so, and Android extracts only files namedlib*.sofrom a non-debuggable APK, so every published APK installed without it and no tool call could run ("the device tool host failed to start"). Builds installed from a computer are debuggable and exempt from that rule, which hid the bug. The helper is nowlibcodex_codemode.so, and the build fails if any packaged native file is not namedlib*.so.
Artifact
- Package: dev.androidagent.app.dev
- Version: 0.7.3 (versionCode=22)
- Asset: android-agent-0.7.3.apk
- SHA-256: 2157EED1D1D1CB936CA927377AD2BDA59D3D236583763B47C2B378FF00D9D09E
- Architectures: ARM64 and x86_64
- Signing: APK Signature Scheme v3 with the local Android debug key; test-only, not production signing
Validation
- Full Gradle gate passed on merged main:
.\gradlew.bat test assembleDevRelease assembleDevDebugAndroidTest :voice:lintDebug :overlay:lintDebug :app:lintDevDebug --no-daemon(832 actionable tasks, 0 lint errors). python -m unittest tools.test_prepare_runtimepassed (5/5 tests).git diff --checkclean.- APK metadata (not debuggable, versionCode 22), zip alignment, and v3 signature verification passed;
libcodex_codemode.sois packaged for ARM64 and x86_64. - Installed on a physical phone: this exact asset on a Redmi Note 11 Pro (Android 13, HyperOS 1.0). The helper was present in the app's native library folder, and "Open Settings and tell me the Android version" opened Settings and reached About phone. Other phones were not tested.
Android Agent v0.7.2 — Developer Preview
Android Agent v0.7.2 — Developer Preview
This release introduces an agent-orb top bar with a unified backend status sheet, an interactive Workspace files sheet with external opening and sharing, clean CI lint verification, and the v0.7.2 version bump.
Key Changes
- Agent-Orb Top Bar & Status Sheet (#53): The top bar is centered around the live agent orb (teal when ready, blue when working, amber when control is blocked), wrapped in a live quota ring. Tapping the orb opens a unified sheet with each device control backend (Accessibility & ADB) and fix shortcuts, quota details, session files, and settings. Status reflects accessibility as a first-class control method rather than reporting ADB as disconnected.
- Workspace Files Sheet (#53): Replaces the chat bottom card with an expandable sheet. Attached and generated files appear newest first with their natural names. Tapping opens files in supported external apps via Android FileProvider, with full share integration. Seeded agent files and app cards fold neatly under an "Agent files" section. Notes and JSON files are served as text/plain for system text editors.
- Clean CI Lint Gates (#54): Resolved the pre-existing indentation error in AgentInputMethodService.kt and properly suppressed QUERY_ALL_PACKAGES with documented rationale. CI (:core:test :app:assembleDevDebug :app:lintDevDebug) now passes with 0 lint errors.
- README Documentation Overhaul (#52): Rewritten setup, architecture, and developer docs for users installing and testing the app.
Artifact
- Package: dev.androidagent.app.dev
- Version: 0.7.2 (versionCode=21)
- Asset: android-agent-0.7.2.apk
- SHA-256: F5FA50A871CED900488736E8EB7113FBE1A36EB17CD0E75C5E73F90A6F72AE25
- Architectures: ARM64 and x86_64
- Signing: APK Signature Scheme v3 with the local Android debug key; test-only, not production signing
Validation
- Full Gradle gate passed on merged main: .\gradlew.bat test assembleDevRelease assembleDevDebugAndroidTest :voice:lintDebug :overlay:lintDebug :app:lintDevDebug --no-daemon (832 actionable tasks, 0 lint errors).
- python -m unittest tools.test_prepare_runtime passed (2/2 tests).
- git diff --check clean.
- APK metadata, zip alignment, and v3 signature verification passed.
- No physical-phone install was performed for this release step.