One screen version
- Sign in at sleepy.run/signup. This creates or reuses your workspace.
- Install the public client. It is the local worker, watcher, exporter, and TUI.
- Connect Claude Code or another MCP client to
https://sleepy.run/mcp. - Pick a target file with tests and a benchmark. Commit the baseline first.
- Start a run from your agent or with
sleepy worker. Your tests and benchmarks run locally. - Watch the run, review the final diff, then export lineage before committing.
Install Sleepy
Use the install script or Homebrew. The binary is companion tooling for hosted runs, not a local service host.
curl -fsSL https://raw.githubusercontent.com/fugue-labs/sleepy-releases/main/install.sh | sh
brew install fugue-labs/tap/sleepy
sleepy doctor sleepy version
Create a workspace
Browser signup uses Google OAuth and creates a workspace session. It does not issue a long-lived bearer token. API keys are created only from the workspace dashboard for headless or long-running jobs.
open https://sleepy.run/signup open https://sleepy.run/workspace
Create a workspace API key only when a terminal worker, CI job, or overnight run needs non-browser authentication. Store the key when shown; Sleepy stores only its hash.
Connect your agent
Claude Code is the most direct first path. MCP clients that support sampling and URL-mode OAuth can create the hosted run and supply mutations through your own model session.
claude mcp add --transport http sleepy https://sleepy.run/mcp
Use sleepy to optimize ./sort.go. The correctness gate is the existing Go test suite. The benchmark is BenchmarkSort1000. Keep the final change small and explain the verified speedup.
Run the local worker
The worker is the evaluator boundary. It applies candidates to your checkout, runs tests and benchmarks, restores after each candidate, and reports measured fitness to the hosted run.
export SLEEPY_TOKEN=slpy_... sleepy worker \ --target ./sort.go \ --server https://sleepy.run \ --eval benchmark:BenchmarkSort1000 \ --population 10 \ --generations 20
Use a workspace API key for this standalone form. If an MCP client creates the run and your client handles OAuth, follow the run-specific worker instructions it gives you.
Watch, export, commit
Do not treat the fastest intermediate candidate as the answer. Review the final champion, inspect lineage, and commit only after your own checks pass.
sleepy status <run-id> --server https://sleepy.run sleepy watch <run-id> --server https://sleepy.run sleepy export <run-id> --server https://sleepy.run --lineage git diff go test ./...
- Run reached a terminal state: converged, complete, or stopped with an exportable champion.
- Final champion passed the correctness gate and benchmark verification.
- Diff is small enough to review and does not add suspicious benchmark-specific shortcuts.
- Lineage/export is saved if the result will be shared publicly.
When it does not work
Most first-run failures are missing workspace auth, missing benchmarks, or an MCP client that cannot satisfy sampling. The support page lists what to include in a report.