Open-source project
WSTxda/SwitchAI avatar
WSTxda/SwitchAI

SwitchAI: A Single Tap to Pick Which AI Assistant Android Opens

Easily select, start, and manage your preferred AI digital assistants on Android.

1,430 stars60 forksKotlinGPL-3.0

At a glance

What is it?
SwitchAI is an open-source Android app that swaps between installed AI assistants, with a selector, widgets, and Quick Settings tiles. It is useful for people who juggle multiple assistants, but its reach depends on package-name matching and per-region app availability.
Who is it for?
Adopt SwitchAI if you regularly switch between two or more AI assistant apps on Android and want a system-level selector or a home screen shortcut. Do not adopt it if you only use one assistant, or if your region blocks the assistant apps you need, because the app relies on those apps being installed and may error otherwise.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 16 days ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The Problem: Android Lets You Pick One Assistant, Then Forgets

The core mechanism is simple: SwitchAI holds a list of known assistant apps, each identified by its package name and class name. When you trigger the assistant, SwitchAI shows a selector instead of launching a fixed app. You pick one, and it launches. The README lists over 40 supported apps, from ChatGPT and Gemini to regional ones like XiaoAI and Marusya. The app also exposes a default option, so you can bypass the selector when you want a consistent choice. The selector and settings use Material 3 Expressive design, and the app ships with home screen widgets and Quick Settings tiles. Those tiles and widgets are not just shortcuts to one app; they can launch the selector itself, which is the interesting part. The data flow is: user action, SwitchAI resolves the target package, Android starts that activity. Nothing about the assistant's own logic is touched.

How It Works: Package Names, Class Names, and a Selector

SwitchAI does not integrate with AI services directly. It is a launcher and router. The README states that it launches apps 'using package and class names.' That means each supported assistant must expose an activity that SwitchAI can start. The app ships with a hardcoded list of these identifiers. When you pick an assistant, SwitchAI constructs an intent with the package and class, then starts it. The selector appears either from a widget, a Quick Settings tile, or the system assistant trigger. Voice input support is listed as a feature, but the README does not explain how it works. It likely passes the voice intent through to the chosen assistant, but that is not confirmed. The reliance on exact package names is a double-edged sword. It makes the app lightweight and fast, because there is no service to query. But it also means any change in an assistant app's package name breaks SwitchAI until the maintainer updates the list. The README's warning about errors when an app is not installed underscores this fragility.

Getting It Running: Install, Pick, and Configure

The README does not include a command-line setup because this is an Android app, not a CLI tool. You download the APK from the GitHub releases page or from the project's Telegram channel, which is linked in the README. After installation, you open SwitchAI and grant whatever permissions it asks for, though the README does not specify which ones. To use the selector, you add a widget or Quick Settings tile, or set SwitchAI as your default assistant in Android's system settings. The README mentions 'set a default option for your device's system assistant feature,' which implies SwitchAI registers itself as an assistant app. The exact steps depend on your Android version, and the README does not detail them. There is no configuration file or JSON to edit; the settings are in the app UI. The supported app list is fixed, so you cannot add a custom assistant unless it is already in the list. That is a limitation worth noting before you install.

Limitations: Region Locking, Missing Apps, and a Hardcoded List

SwitchAI's biggest weakness is its dependency on a curated list. The README lists 40+ apps, but that list is not exhaustive. If you use an assistant that is not listed, SwitchAI cannot launch it. The README also warns that 'app availability may vary by region and device.' If an app is not installed, SwitchAI shows an error and prompts you to install it. That prompt is a dead end if the app is not available in your country's Play Store. Another limitation is that SwitchAI only routes to the assistant's main activity. It does not pass along specific intents like 'compose a new message' or 'start a voice session.' The voice input feature suggests some intent handling, but the README does not specify which intents are supported. So for power users who want deep integration, SwitchAI is a thin router, not a control layer. It is the wrong tool if you need to script assistant behavior or if your primary assistant is not on the list.

The Alternative: Manual Switching and Android's Default Assistant

The obvious alternative is to do what SwitchAI automates: open the assistant app you want, when you want it. That costs a few extra taps but requires no third-party app. Android's own settings let you change the default assistant, but that is a multi-step process and not meant for frequent switching. Another alternative is to use a launcher with custom shortcuts, like Nova Launcher, where you can assign gestures to launch specific apps. That approach gives you per-gesture control without a selector UI. The difference in approach is that SwitchAI centralizes the choice in one selector, whereas manual methods scatter it across your launcher or settings. If you only switch between two assistants, a launcher gesture is faster. If you switch between many, SwitchAI's selector wins. The trade-off is that SwitchAI adds a dependency on a third-party app that must stay updated to track package name changes.

Maintenance and License: GPL-3.0 and a Single Maintainer

SwitchAI is licensed under GPL-3.0, which means if you fork it, your derivative must also be open source under the same license. That is a standard copyleft choice, and it is friendly to developers who want to extend the app. The repository shows active maintenance: the latest release, 4.1, was pushed on July 11, 2026, and there are earlier releases in March and November of the previous year. That cadence suggests the maintainer fixes issues and adds new assistants regularly. However, the project appears to be a solo effort, based on the GitHub profile name WSTxda. A single maintainer means the hardcoded app list could go stale if the maintainer loses interest. The README mentions a donation link, which implies the project relies on community support. For adoption, you should check the release notes for each new version to see if your preferred assistant's package name has changed. The GPL license also means you can audit the code to verify exactly what intents it sends, which is a plus for privacy-conscious users.

Editorial conclusion

Adopt SwitchAI if you regularly switch between two or more AI assistant apps on Android and want a system-level selector or a home screen shortcut. Do not adopt it if you only use one assistant, or if your region blocks the assistant apps you need, because the app relies on those apps being installed and may error otherwise. Before installing, verify that your target assistants are on the supported list and that your Android version meets the app's requirements, then check the latest release notes for any changes to package names or permissions.

Official sources

  1. Official README
  2. Project repository
  3. Release notes
Community notes

Community notes