GitOut — Remote Control for Claude Code
Live life. AI codes.
GitOut is a free, open-source VS Code extension + Progressive Web App that lets you babysit Claude Code from your phone. Approve tool calls, answer questions, send follow-up instructions — all from anywhere.

⚖️ Important: No central service
GitOut is client-only software. There is no GitOut server, no GitOut backend, no GitOut SaaS. All code runs on:
- Your laptop — the VS Code extension and local agent daemon
- Your phone — the Progressive Web App
- Cloudflare's anonymous quick tunnel (default) — or your own Cloudflare account if you opt to self-host
The maintainer of GitOut operates no infrastructure, collects no data, and has no access to your sessions, code, or Claude conversations.
Install
- Open VS Code → Extensions panel (
⇧⌘X)
- Search "GitOut"
- Click Install
Or install from the Marketplace page.
Quickstart (3 minutes)
Prerequisite: Claude Code installed.
- Open the Command Palette (
⇧⌘P) → GitOut: Start
- A side panel opens with a QR code
- Scan the QR code with your phone → the GitOut PWA opens
- On your phone, tap Pair & enable notifications
- (Recommended) Add the PWA to your home screen: Safari → Share → Add to Home Screen
- You're paired. When Claude needs you, your phone buzzes.
What it does
| From your phone, you can: |
How |
| Approve tool calls |
Bash / Edit / Write tool calls show the actual diff or command. One-tap approve or reject. |
| Answer Claude's questions |
When Claude uses AskUserQuestion, the options render as tappable buttons. |
| Send follow-up instructions |
Type a nudge; Claude runs it and streams the response back to your phone. |
| Configure per-tool policy |
Safe / Autopilot / Paranoid / Custom — set once, forget. |
Screenshots
Modes
| Mode |
What happens |
| 📱 Remote |
Claude SDK runs your reply, response streams back to your phone. Use when you're away from the desk. |
| 💻 Desk |
Your reply lands in VS Code's Claude chat input. Use when you're back at the laptop. |
Toggle in Settings on the phone.
Cost: $0 forever
GitOut is designed to never cost you a cent and never cost the maintainer a cent:
| Component |
Hosted on |
Who pays |
| VS Code extension |
Your laptop |
$0 — you |
| Agent daemon (Node) |
Your laptop |
$0 — you |
| Default tunnel |
Cloudflare's free anonymous quick-tunnel pool |
$0 — Cloudflare absorbs |
| Optional permanent URL |
Your own Cloudflare Workers free tier |
$0 — your free tier |
| Push notifications |
FCM (Android) / APNS (iOS), free for low volume |
$0 — Google/Apple |
The maintainer hosts no shared infrastructure. You will never be billed by GitOut, because there is nothing to bill for.
You may, optionally, self-host the relay Worker on your own Cloudflare account. If you choose to do so, you alone are responsible for your account, its usage, and any billing decisions you make on it. Cloudflare's free Workers plan does not require a credit card and cannot auto-upgrade you to a paid plan — but you should verify this on the Cloudflare dashboard before deploying anything.
Privacy
- No telemetry, no analytics, no account required.
- The maintainer collects zero data — there is no server to collect it on.
- Your code, prompts, and Claude responses travel between your laptop and your phone via a Cloudflare tunnel — see Cloudflare's privacy policy for what they retain.
- The pairing code is a short-lived secret known only to your laptop and your phone.
- Source code for the agent and worker is not open-source at this time. The VS Code extension source ships inside the
.vsix package (minified) and can be inspected by unzipping it.
Requirements
- VS Code 1.80+ (any OS)
- Claude Code installed
- A modern phone with a browser (iOS 16.4+ or any Chrome-based Android)
- For the default zero-setup mode: nothing else
- For the optional permanent URL mode: a free Cloudflare account
✅ Claude Code — fully supported in the current release.
🛣️ Planned (community-driven): Cursor, GitHub Copilot Chat, OpenAI Codex CLI, Gemini Code Assist, Aider, and others.
Want a different tool supported? Open an issue describing which one — votes and demand are tracked publicly.
Want to build support for a tool? The source for the agent / PWA / worker is in a private repository for now. To get collaborator access, email sanjeev.azad@gmail.com with:
- The AI tool you want to add (e.g., Cursor)
- Your GitHub handle
- A short note on what you'd build and your relevant experience
Priority goes to contributors who actively use the tool they want to integrate.
Troubleshooting
Common issues seen during community testing, what causes them, and how to fix.
🌐 Tunnel & connectivity
Phone shows "Cloudflare Error 1033" when scanning the QR
Cause: The cloudflared client connected to Cloudflare's edge, but Cloudflare hasn't finished routing the quick-tunnel URL yet. Their own message warns "it may take some time to be reachable."
Fix: Wait 30–60 seconds after the URL appears, then retry the scan. If it persists, run GitOut: Stop → GitOut: Start for a fresh URL.
VS Code panel hangs on "Warming up the tunnel"
Cause: If you're on v0.1.9 or older, cloudflared wasn't installed and the tunnel never came up. Fixed in v0.1.10+ which auto-downloads the binary.
Fix: Update the extension to the latest version. If still stuck on v0.1.10+, check the GitOut output channel (View → Output → "GitOut") for the actual error.
Quick tunnels keep failing / corporate VPN blocks *.trycloudflare.com
Cause: Cloudflare's quick-tunnel pool is anonymous, best-effort infrastructure with no SLA. Many corporate networks also block outbound QUIC (port 443/UDP) which cloudflared uses by default.
Fix: Deploy your own free Cloudflare Worker as a relay. Set gitout.relayUrl in VS Code settings to wss://your-worker.workers.dev/agent. Bypasses cloudflared entirely.
📳 Push notifications
Phone doesn't buzz when the PWA is open in the foreground
Cause: iOS Safari and most Android browsers suppress Web Push banners when the app is already visible — they assume you're already looking at it.
Fix: Test with the screen locked or the PWA backgrounded. Approval prompts (PreToolUse) use requireInteraction: true and are more likely to surface even in foreground.
No notifications arrive at all, even with the screen locked
Cause: Stale subscription. The agent has an old push endpoint that FCM/APNS still accepts but no longer delivers to your current device (common after clearing browser data, OS reset, or testing across multiple devices).
Fix: On the phone PWA, tap the Unpair icon (top-right of Console) → re-enter the pairing code from the VS Code panel. A fresh subscription gets registered.
iOS: no "Allow Notifications" prompt on Pair
Cause: iOS only supports Web Push for PWAs added to the Home Screen (Apple's requirement, not ours). From a regular Safari tab, Pair will silently fail.
Fix: In Safari with the PWA open → Share button → Add to Home Screen → Add. Close Safari. Reopen GitOut from the home-screen icon. Tap Pair again — notification prompt now appears.
✅ Approval flow
Claude does Write/Edit/Bash without my phone getting an approval prompt
Cause: Missing the PreToolUse hook in ~/.claude/settings.json. Common if you installed hooks via an older version of GitOut before that event existed.
Fix: Run GitOut: Install Claude Code Hooks from the Command Palette. The command is idempotent — safe to re-run. Verify:
python3 -c "import json; print(list(json.load(open('$HOME/.claude/settings.json')).get('hooks',{}).keys()))"
Expected: ['Stop', 'Notification', 'PreToolUse'].
Tapped Approve, button stuck on "Approving…" forever
Cause: You tapped a push that FCM/APNS had queued — by the time you saw it, the agent's 5-minute decision timer had expired and Claude Code already prompted locally instead. The phone's late decision can't resolve the dead requestId.
Fix: Open Settings → Maintenance → Clear to wipe the stale cards. Retry with a fresh action that fires a new push.
📦 Installation
"Could not locate packages/agent" error popup
Cause: You're on GitOut v0.1.7 or older — those versions only shipped the extension UI, not the agent code. Since the source repo is private, there was no recovery path.
Fix: Update to v0.1.8 or newer from the Marketplace. The agent is bundled inside the .vsix now.
After auto-updating, the extension still behaves like the old version
Cause: VS Code caches loaded extension code in the extension-host process. A normal "Reload Window" doesn't always pick up the new bytes.
Fix: Fully quit VS Code (⌘Q on macOS, File → Exit elsewhere) and reopen. Then verify the version in the Extensions panel.
🔍 Where to look first
Before filing an issue, check the GitOut output channel in VS Code:
View → Output
- In the dropdown on the right, select GitOut
- Scroll to the bottom — the agent logs every hook, push, tunnel event, and error here
90% of issues show their root cause in this log.
Issues & feedback
Still stuck after Troubleshooting? File an issue. See CONTRIBUTING.md for what info to include — and please paste the last 20 lines of the GitOut output channel.
⚖️ Disclaimer
GitOut is provided "as is" under the MIT license, without warranty of any kind, express or implied. By installing or using GitOut, you acknowledge and agree that:
No infrastructure is operated by the maintainer. GitOut runs entirely on your own hardware and on third-party services you choose (Cloudflare, FCM, APNS). The maintainer has no ability to monitor, control, or recover your sessions.
You are solely responsible for any third-party accounts you use with GitOut (Cloudflare, Apple developer push services, Google FCM) — including all billing, terms of service, and account decisions made on those platforms.
No data is collected, transmitted to, or stored by the maintainer. All data flow happens between devices you own and third-party services you have agreed to use.
The maintainer is not liable for any data loss, downtime, billing surprises, security incidents, or damages arising from the use of, or inability to use, this software. See the MIT license for the full warranty disclaimer.
GitOut is not affiliated with, endorsed by, or sponsored by Anthropic, Cloudflare, Apple, Google, Microsoft, or any other organization. "Claude" and "Claude Code" are trademarks of Anthropic; "VS Code" is a trademark of Microsoft. GitOut interoperates with these products as an independent third-party tool.
Use at your own risk. AI-generated code can be wrong, unsafe, or incomplete. Always review tool calls before approving them, especially destructive ones (file deletion, force pushes, database mutations). One-tap convenience does not replace one-tap review.
If any of these terms are unacceptable to you, do not install or use GitOut.
License
MIT — free to use, modify, and redistribute. See LICENSE for the full text.
Built with Claude Code and @anthropic-ai/claude-agent-sdk.