Describe it. Watch it get built.

A local, open-source IDE powered by AI. Type what you want, the agent writes the code, the preview updates live.

Looking for your local Hemingweight server...
This takes a second.
How to install
Bring your own model
Claude
Mistral
OpenAI
Gemini
Use your own account with any provider. You pay them directly, no markup from us.

Three steps, about two minutes

Everything is open source and runs on your machine. You only do this once.

1

Pick your model

Hemingweight is bring-your-own-model. Pick whichever you already have or want to sign up for. You can add more later.

You'll need: a Claude Pro or Max subscription, or an API key from console.anthropic.com.

Install the CLI if you haven't already (the main installer in step 2 does this for you, so skip if you've never used Claude Code before):

npm install -g @anthropic-ai/claude-code
You'll need: a Mistral API key from La Plateforme.

Install the Mistral vibe CLI:

npm install -g @mistralai/mistralai
You'll need: an OpenAI API key from platform.openai.com/api-keys.

Install the OpenAI codex CLI:

npm install -g @openai/codex
You'll need: a Google AI Studio API key from aistudio.google.com.

Install the Google gemini CLI:

npm install -g @google/gemini-cli
2

Install Hemingweight

On macOS, press Cmd + Space, type Terminal, hit Enter. Then paste this and hit Enter:

curl -fsSL https://raw.githubusercontent.com/AlexandreFlamant/hemingweight/main/install-remote.sh | bash

About two minutes. You'll be asked for your Mac password once, for trusting the local HTTPS certificate. Nothing leaves your laptop. The installer puts Node, Python, Git, Hemingweight, and the Claude Code CLI in place.

Already have Hemingweight? Running this same command updates it. Future updates then happen in-app with one click.

3

Refresh this page, then click Launch

The status indicator at the top will flip from red to green as soon as your local server is reachable. Click Launch Hemingweight, pick your model on first open, paste your API key (or sign in), and you're in.

On the very first launch, your browser may ask whether this page is allowed to talk to your local network. Click Allow. If you miss the prompt or click Block by mistake, here's how to fix it.

Troubleshooting

Common snags and how to get past them.

My browser blocked the connection to localhost

The first time this page tries to reach your local machine, Chromium-based browsers show an "access local network" prompt. If you clicked Block, the choice is remembered and the browser will not ask again. You need to reset the permission for this site.

Easiest fix (works on Chrome, Brave, Arc, Edge):

  1. Paste this URL into your browser's address bar and press Enter:
chrome://settings/content/siteDetails?site=https%3A%2F%2Fhemingweight.vercel.app
  1. Click the Reset permissions button at the top of the page that opens
  2. Come back here and reload. When the prompt reappears, click Allow.

Manual alternative: click the tune icon on the left of the address bar, open Site settings, find Local network (Brave) or Private network access (Chrome), and set it to Allow. Reset is faster.

Safari and Firefox don't enforce this yet, so this step doesn't apply there.

The install command failed

The first red line in the Terminal output usually names the culprit. The most common ones:

  1. Missing Xcode Command Line Tools. Run xcode-select --install, wait for it to finish, then re-run the install command.
  2. Homebrew not installed. The installer puts it in place for you, but if that step fails, install Homebrew manually from brew.sh and re-run.
  3. Permission denied. Make sure you're pasting the command into Terminal as yourself, not under sudo.

Still stuck? Open a GitHub issue with the last 20 lines of your Terminal output.

Status stays red even after install finished

The server may not have started. Open Terminal and run:

launchctl kickstart -k gui/$(id -u)/com.hemingweight.webserver

Then refresh this page. If that doesn't help, check the server log for errors:

tail -n 50 ~/.hemingweight/webserver.err.log
Update Hemingweight to the latest version

If you're on a version older than 1.6.0 you won't see the in-app Update button yet. Run this one-liner once and you'll be on the latest, with auto-update working from then on:

curl -fsSL https://raw.githubusercontent.com/AlexandreFlamant/hemingweight/main/install-remote.sh | bash

Same command as the first install. If Hemingweight is already in ~/Developer/hemingweight, the installer detects it and runs git pull instead of a fresh clone. No data is touched.

Prefer to do it by hand?

bash ~/Developer/hemingweight/update.sh

Once you're on 1.6.0 or later, the app shows a small orange Update chip in its top toolbar whenever a new version lands. Click it, wait a few seconds, done.

I want to uninstall Hemingweight

Run these three commands in Terminal:

bash ~/Developer/hemingweight/uninstall-launch-agent.sh mkcert -uninstall rm -rf ~/Developer/hemingweight ~/.hemingweight

Line 1 stops the auto-starting server. Line 2 removes the local certificate authority from your keychain. Line 3 deletes the code and config. Your ~/Developer projects stay where they are.

How it works

Hemingweight is a small Node.js server that runs on your Mac. It serves a React-based UI and spawns whichever AI coding CLI you've configured (Claude Code, Mistral's vibe, OpenAI's codex) in a real terminal via a Python PTY bridge. When you describe what you want built, the agent reads and writes files in your projects folder, runs your dev server, and hands you a live preview.

This page is a thin entry point. It detects the local server over HTTPS on port 3457 (or HTTP on 3456 for legacy setups), and hands you off. Nothing about your session, your code, or your prompts ever touches our servers. The AI CLI talks to its provider (Anthropic, Mistral, OpenAI) using your own key or subscription, the same way the CLI does on the command line.

All the code is on GitHub. Issues, pull requests, and model integrations welcome.