foray
GitHubStart vibecoding on your [laptopdesktopphonedesktoplaptop]. Keep going on your [phonephonelaptopiPadphone].
There is a better way to vibecode.
I used to vibecode like everyone else: using agents locally across many machines.
But I hated the friction of syncing files and configs, and losing local conversation context.
So I created foray: a vibecoding server with a fast, ergonomic UI — a real terminal, a file tree and an editor.
It runs in the background on any Mac or Linux box, so your machine stays yours.
It turns any device into a thin client, via a browser and Tailscale.
The usual setup
- ✗ Git sync hell
- ✗ Skills and config drift between machines
- ✗ Conversation history trapped on one machine
With Foray
- ✓ Everything in sync, always
- ✓ Pick up any conversation where you left it
- ✓ Write a skill once, use it everywhere
- ✓ Agents sandboxed off your main machine
Install
curl -fsSL https://foray-terminal.com/install.sh | bash
or paste this to your agent:
Install Foray on this box. Instructions at foray-terminal.com/install.sh
Features
- Sessions that outlive the tab. Close it, lose signal, switch device. Still running.
- Dictate instead of typing. Talk into the input bar, no ghost characters.
- Keys a phone keyboard lacks. Esc, Ctrl, Tab and arrows, one tap away.
- Past Claude Code sessions in the sidebar. Tap one to resume it, where it ran.
- A file tree and Markdown editor. Side by side with the terminal.
- Images from camera roll, clipboard or drag. Uploaded, then typed at the prompt.
- Add to Home Screen. It opens like an app.
Don’t use Foray if...
You just want to talk to the agent.
Foray bundles a real terminal, conversation manager and file editor into one app. If you just want to talk to your agent, try:
You want a real SSH client.
Foray serves one box in a browser, built around agent sessions. For many servers, port forwards and key management, try:
You just want to reach the computer you already use.
Foray is a box you live on, reachable from anything with a browser. To get back to the machine you already sit at, try: