sleepy

First hosted run

Start your first Sleepy run

Create a workspace, connect an MCP-capable agent, run evaluation locally, and export the verified result. The hosted service orchestrates search; your machine keeps model credentials and code execution.

One screen version

  1. Sign in at sleepy.run/signup. This creates or reuses your workspace.
  2. Install the public client. It is the local worker, watcher, exporter, and TUI.
  3. Connect Claude Code or another MCP client to https://sleepy.run/mcp.
  4. Pick a target file with tests and a benchmark. Commit the baseline first.
  5. Start a run from your agent or with sleepy worker. Your tests and benchmarks run locally.
  6. 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.

install.shmacOS/Linux
curl -fsSL https://raw.githubusercontent.com/fugue-labs/sleepy-releases/main/install.sh | sh
HomebrewmacOS/Linux
brew install fugue-labs/tap/sleepy
check local setupterminal
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.

browserworkspace
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 CodeMCP
claude mcp add --transport http sleepy https://sleepy.run/mcp
first promptagent
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.

standalone workerterminal
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.

run inspectionterminal
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.