Ship from your phone. Keep your code on your laptop.
Junction is a web control surface for Claude Code, Codex, and OpenCode — running on your own machine or VPS. Watch agents live, approve permissions, and merge from anywhere.
One npm install. Works with the subscriptions you already pay for. Source stays local by default.






Works with the AI coding CLIs you already use
From zero to your phone in one command.
Install the launcher on any machine with Node.js. Connect locally or through Junction's encrypted relay. Open the app on any device.
Install the launcher
One command on any machine with Node.js 20+.
Pair a device
The daemon self-registers. Pair your phone or laptop with a six-digit code over the encrypted relay.
Bring the agents you already pay for.
Junction handles the rest.
Junction talks straight to the Claude Code, Codex, and OpenCode CLIs installed on your machine. Nothing extra to buy. Nothing extra to rotate.
Claude Code
by Anthropic
Codex
by OpenAI
OpenCode
open source
Walk away from your desk. The run keeps going.
Your session is live in any browser the moment you need it — mid-meeting, on the train, in bed. Tool calls, diffs, and approvals stream to whichever device you opened.
Free to start. Works in any browser.
Every tool call. Every diff. In real time.
Junction streams tool calls, file edits, and shell output from your daemon over WebSocket. A full diff viewer and terminal live inside the same pane — phone, tablet, or laptop.
You
Add rate limiting to the API auth endpoints. Use a sliding window approach with Redis.
Claude Code
I'll implement sliding window rate limiting using Redis. Let me first check the existing auth middleware structure.
Your agents ask. You answer. From wherever you are.
When an agent needs you, your phone buzzes. Approve a plan, ship a PR, or unblock a build — in one tap. No laptop. No SSH. No “I'll get to it later.”
Thursday, April 17
9:41
- Heading out? Approve agents from your phone — same one-tap permissions as the desktop.
- Tail logs, review diffs, merge PRs — without unlocking a laptop.
- Background hum, not interruptions. Critical alerts only — your settings, your rules.
iOS, Android, web. Same one-tap controls everywhere.
Tag an issue. Wake up to a pull request.
Switchboard watches your Linear workspace. When you tag an issue, it spawns an isolated worktree, runs an agent from your chosen provider, and opens a PR. Works 24/7 when the daemon runs on a VPS.
Everything else you'd expect. Plus a few you wouldn't.
Cost tracking, checkpoints, custom commands, MCP tools, and more — all built into the same control surface.
Encrypted relay
Access your daemons from anywhere with end-to-end encrypted relay traffic.
Code review
Inline diff viewer with syntax highlighting. Review and approve changes from any device.
Per-turn cost tracking
Token usage and USD cost tracked per turn and per session. Know exactly what you're spending.
Agent checkpoints
Pre-mutation snapshots of workspace state. Roll back if an agent goes off track.
Workspace file browser
Browse workspace files and terminal output from any device.
Custom commands
Per-repo slash commands and prompt templates.
Five-level risk classification
Permissions categorized as safe, review, destructive, shared-state, or external side-effect before every tool call.
MCP server built in
In-process MCP exposes create_agent, send_agent_prompt, and get_agent_status — agents can orchestrate other agents.
Your code stays local by default.
Junction cloud stores account, billing, preferences, connection, and integration metadata needed to run the service. Your source and agent sessions stay local by default, and relay traffic is encrypted end-to-end with Curve25519 shared keys and XSalsa20-Poly1305 message encryption.
- No source code stored in cloud during ordinary daemon control
- No source-code telemetry or daemon content tracking
- Agent provider credentials stay with your provider CLIs in normal use
- Optional feedback and integrations process only what you choose to send
- Agent execution runs on your daemon
users
Basic identity — just enough for login
That's it. Nothing else.
Simple pricing. No surprises.
Start free. Move to Core when you want unlimited. Add Switchboard for Linear automation.
Free
No payment method required.
Free forever
Core Junction app access for one saved daemon connection and two open chats.
- Core app access
- 1 saved daemon connection
- 2 active/open chats
- No Switchboard automation
Junction Core
Unlocks unlimited daemons and chats.
Beta pricing — locked in for life
Unlimited daemons and open chats for your local control surface.
- Unlimited daemons
- Unlimited open chats
- Real-time monitoring
- Code review and Git integration
Switchboard
Unlocks Linear automation.
Beta pricing — locked in for life
Everything in Core plus Linear automation that turns issues into pull requests.
- Everything in Core
- Linear workspace integration
- Issue-to-pull-request automation
- 24/7 automated runs
Start shipping from your phone today.
Free forever. No credit card. No cloud lock-in. One npm install. Source stays local by default.
Works with Claude Code, Codex, and OpenCode. Your existing provider setup. $0 extra.