VibeShell

Talk to your agent from your phone.

Send prompts to Claude Code inside tmux and press Esc and Ctrl on dedicated keys. Connections go straight to your own server.

1.3.13 · ₩14,000 one-time · iOS 16 or later · Android

VibeShell session screen. Remote Claude Code output above a prompt bar, a key row with Esc, Tab, Ctrl, Alt, and the Korean keyboard
A Claude Code session on a remote server. The prompt bar takes a full sentence in Korean; the key row above it has Esc and Ctrl.

The system keyboard has no Esc key.

A phone keyboard is built for typing text. It has no Ctrl, no Esc, and no arrow keys, so tmux and vim are out of reach. VibeShell leaves text entry to the OS keyboard and adds one row for control keys.

Phone keyboardVibeShell key row
Esc, Ctrl, Alt, TabNonePresent, with haptic confirmation
Arrow keysNone↑ ↓ plus tmux window numbers 1 and 2
Prompts in your languageOne character at a time into the terminalWrite a sentence in the prompt bar and send it at once
Text entryOS keyboardOS keyboard as is. The IME is not replaced

Real screens.

Prompts screen listing saved prompts by project
Prompts are kept per project.Twenty-seven in the vibeshell project. Sentences you send often, like "다음 작업 추천해줘" (suggest the next task), are one tap away.
Add connection screen with OS selection, two gateway toggles, and authentication method
Go in through a jump host.Each connection can be marked "use as gateway" or "via gateway." Authentication is a password or an SSH key.
Claude Code session inside VibeShell with the install prompt and adb output
The phone app was installed from the phone.March 2026. The app's developer, inside VibeShell, told Claude Code "안드로이드 폰도 설치해줘" (install it on the Android phone too) and got builds onto both the iPhone and the Android device. This is the 1.0 interface.

When the agent finishes, your phone rings.

Install VibeShell Hook on your dev machine and you get a push notification when Claude Code finishes a task. Codex CLI, Gemini CLI, Aider, and OpenCode work the same way.

Install

curl -fsSL https://www.wevesolutions.co.kr/downloads/hook/install.sh | bash -s -- --install

~/.claude/settings.json

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "/Users/username/.vibeshell/hook.sh",
            "timeout": 30
          }
        ]
      }
    ]
  }
}

Tap the notification and that session opens. VibeShell Hook →

Straight to your server.

There is no relay. Depending on where the server lives, you use one of three paths.

PathWhenWhat you need
Direct SSHThe server has a public IP or a VPN such as Tailscale or WireGuardNothing beyond the host and a key
Jump hostThe company server sits behind a bastionA bastion account and the "via gateway" toggle
VibeShell GatewayThe server is on a private network with no VPNOne Linux box and a one-line install. Built on Tailscale

We run no servers and own no network.

VibeShell has no relay server. The app connects to your server directly or through a Gateway you installed. Terminal traffic never passes through us.

It does not keep tunnels alive in the background. iOS closes the socket when the app leaves the foreground. We tried to work around that with the location permission, were rejected ten times in review, switched to an in-app browser, and were approved. The three-week story (Korean) →

It does not replace the OS keyboard. Text goes through the keyboard you already use; only the control keys are separate.

Pricing

StorePriceTerms
App Store₩14,000One-time purchase. No in-app purchases
Google Play₩14,000One-time purchase. No in-app purchases

No subscription. Refunds follow each store's process.

Used together

VibeShell GatewaySelf-hosted proxy for private-network servers. Go, Tailscale
VibeShell HookPush to your phone when an AI coding tool finishes
vibeshell.ioFeature requests, issues, release notes, roadmap
Five guidesConnection setup, terminal, SFTP, snippets, tunneling (Korean)

Specifications

OSiOS 16 or later (iPhone, iPad) / Android
SizeiOS 43.5 MB
LanguagesKorean, English
AuthenticationSSH keys (RSA, ECDSA, ED25519), password, host key verification, Face ID / Touch ID
FilesSFTP browse, upload, download. Edit md and json. Preview images and PDF
SessionsMultiple sessions in tabs. Pinch to resize text. Slash-command completion. Widget for quick connect
CoreShared Rust core. Swift on iOS, Kotlin on Android

Three questions we get

If the connection drops, do I lose my work?

Not if you run tmux on the server. Put tmux new -A -s main in the connection's startup snippet and every connection lands in that session.

My company server is behind a VPN.

If the VPN is on your phone, direct SSH works. If not, use the bastion as a jump host or install Gateway on one Linux box inside the network.

Can I get a refund?

Refunds go through the App Store or Google Play. We do not handle payment ourselves.