Remote control interface for Claude Code on macOS, accessible via a Vercel-hosted Web App.
- Web App: Next.js (App Router) hosted on Vercel.
- Worker: Node.js process running on your Mac.
- Communication: Upstash Redis (REST API).
- Upstash Redis: Create a database at console.upstash.com. Get the
REST_URLandREST_TOKEN. - Claude Code: Ensure
claudeis installed and authenticated on your Mac. - Node.js: v18+.
- Navigate to
app/. - Copy
.env.exampleto.env.localand fill in:UPSTASH_REDIS_REST_URL="..." UPSTASH_REDIS_REST_TOKEN="..." ADMIN_KEY="your-secret-key"
- Deploy to Vercel:
(Or push to GitHub and connect Vercel).
npx vercel deploy
- Set the Environment Variables in Vercel project settings.
- Navigate to
worker/. - Copy
.env.exampleto.envand fill in:UPSTASH_REDIS_REST_URL="..." UPSTASH_REDIS_REST_TOKEN="..." ALLOWED_ROOTS="/Users/yourname/projects,/Users/yourname/dev"
- Install dependencies:
npm install
- Start the worker:
npm start
- Open the Web App URL.
- Go to New Job.
- Select a repository (scanned from
ALLOWED_ROOTS). - Enter a prompt for Claude.
- Watch the live logs!
- Admin Key: Ensure your Web App is protected (Basic Auth or similar recommended if exposed publicly, currently the app code does not enforce
ADMIN_KEYcheck on routes, you should add Middleware if deploying publicly). - Allowed Roots: strictly limit
ALLOWED_ROOTSinworker/.envto prevent access to sensitive directories. - Review Mode: Use
planmode to review Claude's plan before execution.
- No Repos: Check
ALLOWED_ROOTSin worker.envand restart worker. - No Logs: Check Redis connection in both App and Worker. Ensure
claudecommand is in PATH for the worker process. - Artifacts: Brain artifacts are scanned from
~/.gemini/antigravity/brain.