Input Modalities
CrabCode is more than a terminal CLI — voice, desktop app, mobile, browser automation, and IDE integrations all share the same core.
What it is
CrabCode's primary form factor is a terminal CLI (TUI), but the same core can be reached from several entry points:
- Terminal TUI (default) — install
crabcode, run it - Voice input —
/voicelets you hold-to-talk in the TUI; speech is transcribed inline - CrabCode Desktop App (macOS / Windows) —
/desktophands the current session off to the native desktop app - iOS / Android mobile app —
/mobileshows App Store / Google Play QR codes - Browser automation — defaults to CLI mode with isolated Chromium; switch to extension mode when real Chrome login state is required (see browser automation; install the extension from the browser extension install guide)
- IDE plugin — JetBrains integration (see ide-jetbrains)
- Remote web session —
/ultraplanand friends run on acosmi.com (see crabcode-on-the-web)
All form factors share the same account, the same settings.json, the same skills, and the same MCP configuration.
Voice input
/voice/voiceToggles voice mode. Hold the voice shortcut (default Space) to speak; release to stop and have the transcript dropped into the input box.
Requirements:
- A signed-in Acosmi account (transcription runs through the acosmi.com backend)
- OS microphone permission (macOS: System Settings → Privacy → Microphone; Windows: Settings → Privacy → Microphone; Linux: your audio settings)
- A recording tool installed (macOS usually ships one; Linux typically needs
sox)
First enable runs a dependency check and tells you exactly what to install if anything is missing. Dictation language is read from your /config language field; unsupported languages fall back to English with a hint.
CrabCode Desktop App
/desktop/desktopHands the current session off to the native CrabCode Desktop app (a separate desktop binary, macOS / Windows x64). Running this in the TUI will:
- Check whether Desktop is installed; if not, guide you through downloading it
- Flush the current session state
- Open Desktop and resume the same session
Good for: long-running sessions, when you want a bigger window or mouse interaction, when you don't want to stay tethered to the terminal. Linux is not supported.
Note: there is also an experimental in-app GUI form factor (Tauri-based). It is not the same thing as the standalone Desktop app above, and is not currently a stable user-facing entry point — this doc does not cover it.
Mobile (iOS / Android)
/mobile/mobileShows QR codes for the iOS and Android Acosmi apps — scan to jump straight to the store.
The mobile app is not the full CLI on a phone — it surfaces the Acosmi conversation layer, good for checking on long-running tasks on the go or replying to notifications. Heavy lifting still happens on a desktop / laptop.
Browser automation
CrabCode browser automation has two backends:
- CLI mode: the default path. It uses
crabcode browser/playwright-clito launch isolated Chromium, good for frontend debugging, E2E checks, screenshots, console reads, and network inspection. - Extension mode: connects through CrabCode in Chrome inside your day-to-day Chrome, good for real login state, OAuth/SSO, intranet pages, and flows that must happen in your current Chrome session.
The two modes do not share cookies, login state, local storage, or download directories. Use CLI mode for ordinary page verification, then explicitly switch to extension mode only when real account state is needed. See browser automation, and use the browser extension install guide for the ZIP package and setup steps.
Note: this is CrabCode driving Chrome, not "CrabCode UI running inside Chrome".
IDE integration
JetBrains (IntelliJ / WebStorm / PyCharm / …) has an official plugin — see ide-jetbrains. VSCode goes a different route — primarily TUI inside an embedded terminal.
Remote web sessions
/ultraplan <task description>/ultraplan <task description>Pushes the session to a remote web runner on acosmi.com — your terminal stays free, and you get notified when the long-running job comes back. See crabcode-on-the-web and plan-mode.
Which one to pick
| What you're doing | Best fit |
|---|---|
| Day-to-day coding & bug fixes | Terminal TUI (default) |
| Hands busy (driving, cooking) but want to kick off a task | Voice input |
| Long session, want a roomier window | CrabCode Desktop App |
| Checking progress on the go | iOS / Android App |
| Let the model drive a browser (frontend debug, E2E) | Browser automation CLI mode |
| Reuse current Chrome login state / OAuth / intranet pages | Browser extension mode |
| In-editor integration | JetBrains plugin |
| Long-running planning you don't want to babysit | Remote web + /ultraplan |
Limits & gotchas
- More entry points ≠ more capability: every form factor routes through the same CrabCode core and the same Acosmi account; the capability ceiling is identical, only the interaction surface differs.
- Voice / Desktop / Mobile all need an Acosmi account: if you wire CrabCode to a third-party provider directly, these entry points may not be available.
- Settings sync: user-level settings are shared across form factors, but project-level settings only apply when the form factor is running in that project directory.
- Platform coverage isn't uniform: Desktop App is macOS + Windows x64 only; Linux voice needs the recording tool installed manually.