Quickstart
Install Harmony, sign in once, send a repository to a cloud workspace, stack prompts, bring the result home.
1. Install Harmony
curl -fsSL https://ideharmony.com/install.sh | sh
Runs entirely on your machine. No account, no signup. Everything below is optional.
2. Sign in from the app or the terminal
In the desktop app: Settings → Account & Cloud → Sign in. From a terminal:
harmony cloud login
Both open the website, where you approve this device. The device receives a token of its own; your password never enters the app, and the token can be revoked from Account → Devices at any time.
3. Start the trial or subscribe — on the website
Cloud hours come from the website: ideharmony.com/cloud/start. The trial needs no card. The app shows what you have; it never takes payment.
4. Send a repository
In Settings → Account & Cloud → Cloud workspaces, choose Send to cloud and point it at a repository. Before anything leaves your machine you see:
- the base commit the workspace will start from,
- the staged and unstaged changes that go with it,
- every untracked file offered, and
- every file that was refused — SSH keys, cloud credentials,
.envfiles, key material. The refusal happens when the transfer is built; there is no flag to override it.
Confirm, and Harmony declares the transfer, uploads exactly the declared files (each one hash-checked on arrival), seals it, and starts a workspace that restores your work.
NOTE
A transfer carries patches and a fingerprint of the repository — never its
URL and never a credential. So the workspace needs to know where to clone
from: add HARMONY_REPO_URL (and, for private repositories, a read-only
deploy key as HARMONY_GIT_SSH_KEY) on
Account → Secrets. Without them the
workspace waits and says so.
5. Sign your agent in — once per workspace
A workspace comes with Claude Code and Codex CLI installed and signed out. Open Terminal on the workspace and sign in with the subscription you already pay for:
# Claude Code
claude
# Codex CLI
codex login
Each opens its own provider login. Harmony is not involved in it: the credential is created by the provider on that machine, never passes through our servers, and is never typed into a Harmony screen. It also cannot leave — the directories those agents store credentials in are excluded from anything the workspace captures or brings home. Deleting the workspace deletes it.
You do not have to do this. A workspace with no agent signed in is a remote machine with your repository and a terminal, and everything below still works except an agent working the queue on its own.
NOTE
Do not put a provider API key in Account → Secrets. That store refuses provider-key names on purpose — signing in inside the workspace means we never hold your key at all, which is the point.
6. Stack prompts
Open Prompts on a workspace and add as many as you like. They are stored on the server and your signed-in agent works them in order, one at a time, whether or not this computer is awake. Cancel any queued prompt before it starts. With no agent signed in they simply wait, and nothing is charged for them beyond the machine time.
7. Watch it
Terminal on a workspace opens a shell inside it. The connection is a scoped credential minted for this device and this workspace only; it is revoked when the workspace pauses.
8. Pause when you are done
Pause stops the hours. The filesystem is kept. Resume picks up where it left off. From a terminal:
harmony cloud ls
harmony cloud pause <workspaceId>
harmony cloud resume <workspaceId>
9. Bring it home
Bring home on a workspace asks it for its work; it answers within about a minute. Harmony then looks at your local repository and tells you what changed since you sent it — nothing, uncommitted edits, a moved branch, or a different repository — and offers only the ways of bringing the work back that cannot overwrite what you have:
- Apply onto the working tree — only when nothing changed locally.
- Check out into a new sibling worktree — always safe; your tree is untouched.
- Export the patch — writes the patch and new files under
.harmony/bring-home/and stops.
There is no force option. From a terminal:
harmony cloud bring-home <workspaceId> --request
harmony cloud bring-home <workspaceId> --repo . --strategy patch_export