Skip to main content
Onlook works on a copy of your code, on your Mac, and nothing reaches your team’s repository until you say so.

The three promises

Your code stays on your computer

Your project files never touch Onlook’s servers. The AI sees only the context it needs, through your own Claude or ChatGPT account.

You decide what ships

Nothing reaches your team’s repository until you send it.

Edits happen on a copy of your codebase, locally

Onlook works in its own copy, on its own branch. Your original files stay as you left them.

What “a copy” means

When you choose a folder, Onlook makes a separate copy of your code in its own folder on your Mac. It also makes a new branch for that copy, based on your main branch.
  • Your files are untouched. Onlook never edits, moves or commits the files in the folder you chose. The copy is a git worktree, so your repository’s git records list its branch. When you remove the project from Onlook, that branch stays in your repository.
  • The agent only works in the copy. Onlook refuses to run the agent anywhere else.
  • The copy lives in Onlook’s data folder, under ~/Library/Application Support/Onlook Studio/workspaces.
  • If Onlook can’t make a copy, it stops. It never falls back to working in your folder.
If your folder isn’t a git repository yet, Onlook sets up git in its copy only.

What leaves your Mac

This is the full list:
  • Context sent to the AI you signed in to. To make a change, the agent sends the parts of your code it needs to Claude or ChatGPT, under your own account. That’s the same as using those tools directly.
  • Your pushes and pull requests to GitHub, and only when you approve them.
  • Usage events to Onlook, such as which features you use. After you sign in, they’re linked to your email address. They never include your code, file paths, prompts, or repository or branch names.
  • Diagnostic logs and error reports, so we can fix what breaks. They follow the same rule: no code, prompts or file paths.
  • Reports you choose to send with Send feedback: your message, your Onlook version and an anonymous ID. Nothing from your project.
  • Your email address, which you enter when you sign in.

Environment files

Most apps need a .env file to run. To start your app the way it starts for your engineers, Onlook copies the .env files your repository already ignores into the copy. Git keeps ignoring them there, so they stay out of commits. If your folder wasn’t a git repository, Onlook also tells git in its copy to ignore .env files, keys and build output.

What needs your approval

With Claude, the agent always asks before it:
  • pushes to GitHub
  • creates or merges a pull request
  • force-pushes, deletes a branch or throws away work with a hard reset
This holds in every permission mode. Each request appears in the chat as a card with Approve and Deny. In the default Auto mode, reading and editing files in the copy doesn’t need approval, because nothing leaves the copy until you push. To approve every edit too, choose Ask. With ChatGPT, the agent runs with Full access, so it doesn’t stop to ask before these. Everything it does still happens in the copy, and each step shows in the chat.