Skip to content

Installation and Troubleshooting

weijianz edited this page Oct 12, 2026 · 4 revisions

中文

Requirements

Requirement
Running macOS 14 or later; voice input needs macOS 26 or later. Apple silicon and Intel (the installer is universal)
@improve, @translate, @question An AI provider: Amazon Bedrock in your AWS account, or an API key for the Claude API, Gemini or an OpenAI-compatible service; see Settings and Configuration
@claude Claude Code installed on this Mac (the claude command)

Install

  1. Download AllInOneIME-<version>.dmg from Releases (only from there) and open it.
  2. Double-click "Install AllInOneIME" and click Install. The input method goes into ~/Library/Input Methods and "AllInOneIME Settings" into ~/Applications, for this user only; no administrator password needed.
  3. The installer isn't notarized by Apple yet, so the first time macOS says it can't verify it: click Done (Cancel on macOS 14), open System Settings → Privacy & Security, click Open Anyway near the bottom, and confirm. Each new version's installer needs this once.
  4. To write in English: open the settings (@settings, or Spotlight → "AllInOneIME Settings"), and under "Input" add English and remove Chinese. Then set up an AI provider and click "Test Connection".

To update, install the new version's disk image the same way, without uninstalling first; settings, the jargon list and learned words are kept. Each version's changes are in the changelog.

Adding and switching

After installing, AllInOneIME is in your input sources:

  • Ctrl+Space switches input sources; or click the input menu in the menu bar and choose it.
  • 🌐 key: switches input sources only if "Press 🌐 key to" is set to "Change Input Source" in System Settings → Keyboard.

If the installer tells you to add it by hand, this Mac doesn't let programs enable input methods. Add it once:

System Settings → Keyboard → Text Input → Input Sources → Edit… → + (bottom left) → Chinese, Simplified → AllInOneIME → Add

macOS lists it under Chinese because it can also type pinyin; it types English just as well.

Permissions

macOS asks for each the first time it's needed:

Permission When
Microphone Holding right ⌥ to talk; see Voice Input
Control Terminal @claude opening a session in Terminal
Control Notes, access Reminders @note, @reminder
Contacts, control Messages @imessage
Accessibility Answers with several lines going into a terminal as a paste
Paste from other apps ⌃V / ⌘V in a command, ⏎ on an empty command

If you said no, allow AllInOneIME in System Settings → Privacy & Security under that permission.

Building from source

Needs Xcode 26 or later (voice input uses the macOS 26 SDK).

git clone https://github.com/MicroZ-LLC/AllInOneIME.git
cd AllInOneIME
make install

make install downloads librime and the rime-ice dictionaries and verifies their SHA-256, builds, signs (with an "Apple Development" certificate if you have one, ad-hoc otherwise), moves the app into ~/Library/Input Methods, and registers it and adds it to your input sources the same way the installer does. It moves rather than copies because macOS launches input methods by bundle ID: a second copy with the same ID may be launched instead.

make status

From a clone of the repository, make status runs the installed input method and prints its status:

Line Meaning
version: Installed version
bundle: Path of the installed app
running: Running AllInOneIME processes; no means it isn't running, and macOS starts it when it's needed
config: model: aws: Config file, model, AWS profile and region; after ✗ comes the cause of the error
rime: rime user: librime version, whether the dictionaries are bundled in the app, the Rime user folder
registered: Whether the input source is registered
enabled: Whether it's enabled
listed: Whether it's in your input source list (the list Ctrl+Space goes through)
selected: current: Whether it's the selected input source; ID of the current input source

Common problems

Ctrl+Space doesn't switch to AllInOneIME, or it switches back to U.S. shortly after

macOS only has it "enabled by a program" (recorded in com.apple.inputsources); it isn't in your input source list, AppleEnabledInputSources. In this state you can type with it once it's selected, but Ctrl+Space doesn't reach it, and the system soon switches back to an input source from the list (usually U.S.).

  1. Run the installer again ("Install AllInOneIME" from the disk image); it adds AllInOneIME back to the list.
  2. If that doesn't help, add it once manually in System Settings as described above.

You can also look at the list directly: defaults read com.apple.HIToolbox AppleEnabledInputSources should contain an entry "Bundle ID" = "com.aipinyin.inputmethod.AIPinyin".

The 🌐 key opens emoji

System Settings → Keyboard → set "Press 🌐 key to" to "Change Input Source".

A new version is installed but behaves like the old one, or works only some of the time

Most likely there's another AllInOneIME.app with the same bundle ID (com.aipinyin.inputmethod.AIPinyin), and macOS launched that one. If you build from source, the usual one is build/AllInOneIME.app: make, make app, make selftest and make screenshots all leave it behind (make install moves it away).

rm -rf build/AllInOneIME.app      # or make clean
mdfind "kMDItemCFBundleIdentifier == 'com.aipinyin.inputmethod.AIPinyin'"   # see which copies are left
make install    # or run the installer again

In the end only ~/Library/Input Methods/AllInOneIME.app should be left.

Typing does nothing right after installing, with "Loading the dictionaries, one moment"

On its first start Rime has to deploy the dictionaries (for pinyin); until that's done, keys go straight to the app. The installer deploys them in advance, so you normally won't see this. If the dictionaries have problems, click "Redeploy Dictionaries" in the input menu.

@ command errors

The error shows in the candidate panel: Space retries, 0 inserts the original, Esc goes back. Start by clicking "Test Connection" in the settings window. For the Claude API, Gemini or an OpenAI-compatible service, the message comes from that service (an invalid key, a model name it doesn't know); for Bedrock:

Message What to do
AWS profile '…' not found The profile isn't in ~/.aws/credentials or ~/.aws/config, or the wrong one is selected in the settings
AWS profile '…' uses SSO (or assume-role, credential_process); only static access keys are supported Switch to a profile with aws_access_key_id / aws_secret_access_key
AWS profile '…' has no aws_access_key_id / aws_secret_access_key Add the keys to this profile
Bedrock AccessDeniedException: … The key lacks the bedrock:InvokeModelWithResponseStream permission, or the account can't use this model yet
Bedrock ValidationException: … Common causes: the model ID doesn't match the region; the model doesn't accept temperature (turn off "Send temperature" under "Advanced")
The request timed out Slow network; or raise "Advanced → Timeout" (timeoutSeconds)
The config file is malformed (…) config.json isn't valid JSON; the settings window shows the error and doesn't overwrite the file
Secure input is on (a password field or the lock screen): nothing was sent to the AI Intended; see Privacy
Secure input is on (a password field or the lock screen): Claude Code was not opened Intended: the text stays in the command; press the action key again after secure input ends. See Privacy
The … API key was saved for …, not this base URL: save the key again for it The base URL now points to another service than the key was saved for: paste the key for that service and click Save

Nothing is composed in password fields

Intended: during secure input keys are typed as they are. See Privacy.

Logs

log show --last 10m --info --predicate 'subsystem == "com.aipinyin.inputmethod.AIPinyin"'

The log doesn't record what you type. Rime's own warnings and errors are in ~/Library/Logs/AllInOneIME.

Uninstall

Open "Install AllInOneIME" and click Uninstall… (or make uninstall from a clone). It disables AllInOneIME, removes it from your input sources, and deletes the input method and "AllInOneIME Settings".

Your data isn't deleted. To remove everything:

rm -rf ~/.config/allinoneime ~/Library/Application\ Support/AllInOneIME ~/Library/Logs/AllInOneIME
defaults delete com.aipinyin.inputmethod.AIPinyin             # the input method's own preferences
tccutil reset Microphone com.aipinyin.inputmethod.AIPinyin    # microphone permission

API keys are in the login keychain, under "AllInOneIME API key" (remove them in the settings, or in Keychain Access). The keys in ~/.aws are your own; AllInOneIME only reads them.

Upgrading from AIPinyin

AIPinyin is AllInOneIME's earlier name. If you had it installed, just install: the old AIPinyin.app and its settings launcher are removed; the bundle ID hasn't changed (still com.aipinyin.inputmethod.AIPinyin), so the input source simply takes the new name and the microphone permission is kept. On first launch, the data moves to the new folders, and each old path keeps a link to the new one:

Old New
~/.config/aipinyin ~/.config/allinoneime
~/Library/Application Support/AIPinyin ~/Library/Application Support/AllInOneIME
~/Library/Logs/AIPinyin ~/Library/Logs/AllInOneIME

Clone this wiki locally