# CodeVibe for Claude Code

**Control Claude Code from your iPhone and Android.** See your agent's work, approve file edits, dictate prompts by voice — all from your phone, anywhere you are.

🌐 **[quantiya.ai/codevibe](https://quantiya.ai/codevibe)** — landing page, demo video, and one-liner installer

📱 **[Download on the App Store](https://apps.apple.com/app/id6756500217)** · **[Get it on Google Play](https://play.google.com/store/apps/details?id=ai.quantiya.app.codevibe)**

---

## Why CodeVibe for Claude Code

- **🚀 Real-time sync** — every prompt, response, and file change shows up on your phone in 100–500ms
- **✅ Approve from anywhere** — review full file diffs and approve or reject Edit/Write operations from your phone, with the same numbered options Claude Code shows in the terminal
- **🎙️ Voice prompts** — dictate your next prompt with speech-to-text, no keyboard required
- **📷 Image attachments** — send screenshots and photos directly to the agent
- **🔔 Push notifications** — get notified when your agent needs input so you never block on approvals
- **🔒 End-to-end encrypted** — AES-256-GCM with ECDH key exchange; your prompts never pass through a server that can read them
- **🔓 Locked screen support** — works even when your computer screen is locked (via tmux)
- **🧠 Session-aware** — runs multiple concurrent Claude Code sessions independently

## Install in 30 seconds

The fastest path installs everything (Node, tmux, Claude Code, CodeVibe) in one command:

```bash
curl -fsSL https://quantiya.ai/codevibe/install.sh | bash
```

Then download the **[iOS app](https://apps.apple.com/app/id6756500217)** or **[Android app](https://play.google.com/store/apps/details?id=ai.quantiya.app.codevibe)**, sign in with the same Apple or Google account, and start a session:

```bash
codevibe-claude
```

Your session appears on your phone automatically. That's it.

### Manual install (if you already have Claude Code)

```bash
npm install -g @quantiya/codevibe
claude plugin marketplace add https://github.com/hendryyeh/quantiya-codevibe-marketplace
claude plugin install codevibe-claude@codevibe-marketplace
codevibe login
codevibe-claude
```

## Requirements

- **macOS, Linux, or WSL Ubuntu** — Windows without WSL is not supported
- **Node.js** 18.0.0+
- **tmux** — `brew install tmux` on macOS, `apt install tmux` on Linux/WSL
- **Claude Code** with the plugin system enabled

## How it works

```
┌─────────────┐    ┌──────────────┐    ┌─────────────┐
│ Claude Code │ →→ │  CodeVibe    │ →→ │ Your phone  │
│  on desktop │    │  E2E encrypt │    │  (iOS/Android)│
└─────────────┘    └──────────────┘    └─────────────┘
        ↑                                       │
        └────────── mobile prompts ←────────────┘
```

Every prompt, response, tool call, and file edit in Claude Code gets encrypted and relayed to your phone in real time via AWS AppSync. Messages from your phone execute immediately in the correct desktop session via tmux — no polling, no manual refresh.

## Responding to permission prompts from your phone

When Claude asks for permission to edit a file, you see the **same numbered options on your phone** as in the terminal. Reply by typing or voice-inputting the option number:

| Reply | What it does |
|---|---|
| `1` | Approve this specific file operation |
| `2` | Always allow for this project |
| `3` | Reject the operation |
| `3 use a different approach` | Reject and redirect Claude with new instructions |

You can also reply with any text to send a new prompt.

## Benefits of the `codevibe-claude` wrapper

| | `codevibe-claude` | plain `claude` |
|---|---|---|
| Mobile prompts | ✅ Always | ⚠️ Only when screen unlocked |
| Screen-locked support | ✅ Yes (via tmux) | ❌ No |
| Multiple concurrent sessions | ✅ Yes | ❌ No |

Use `codevibe-claude` anywhere you'd use `claude` — all the same flags (`--resume`, `-p`, `--model`, etc.) work identically.

## Power settings for reliable locked-screen mode

For mobile prompts to keep working when your screen is locked, keep your computer awake on AC power:

**macOS:**
```bash
sudo pmset -a tcpkeepalive 1
sudo pmset -a womp 1
```
Then set **System Settings → Battery → Computer sleep: Never** (when on power).

**Linux / WSL Ubuntu:** disable sleep in your desktop environment's power settings, or use `systemd-inhibit --what=sleep:idle sleep infinity &`. On WSL, configure Windows power settings on the host.

## Troubleshooting

- **"command not found: codevibe-claude"** — reload your shell: `source ~/.zshrc` (or `~/.bashrc`)
- **"not authenticated"** — run `codevibe login`
- **Mobile messages not executing** — make sure you launched via `codevibe-claude`, not plain `claude`
- **Plugin hooks not firing** — `codevibe update`, then start a fresh session

### View logs

```bash
tail -f /tmp/codevibe-claude-mcp.log
tail -f /tmp/codevibe-claude-hooks.log
```

## Support

- **Email:** support@quantiya.ai
- **Landing page:** [quantiya.ai/codevibe](https://quantiya.ai/codevibe)
- **Privacy policy:** [quantiya.ai/privacy](https://quantiya.ai/privacy)

## Part of the CodeVibe family

- **[@quantiya/codevibe](https://www.npmjs.com/package/@quantiya/codevibe)** — meta-package with the `codevibe` CLI (install this, not this plugin directly)
- **[@quantiya/codevibe-core](https://www.npmjs.com/package/@quantiya/codevibe-core)** — shared library used by all plugins
- **[@quantiya/codevibe-gemini-plugin](https://www.npmjs.com/package/@quantiya/codevibe-gemini-plugin)** — Gemini CLI support
- **[@quantiya/codevibe-codex-plugin](https://www.npmjs.com/package/@quantiya/codevibe-codex-plugin)** — OpenAI Codex CLI support

## License

MIT
