screenless

for senior engineers running coding agents

Understand what your agents built last night.

Your agents turn tickets into pull requests overnight. Someone still has to make the calls they can't — scope, priority, whether this belongs in the release. That costs an hour at a screen before coffee. It doesn't need a screen.

$ curl -fsSL https://screenless.sh/install | bash

macOS or Linux, Node 20+. Installs the CLI and verifies your number by SMS. The nightly paper is free. The morning call is $99/month after a 7-day trial — card up front, cancel from the terminal. Ten languages, most countries.

two surfaces, one idea

A call you can interrupt, and a paper you can print.

Paper and a phone call are the only two media in this workflow that aren't a screen. One asks you to decide; the other asks nothing at all.

rounds

the morning call · 30 min

Clinical rounds for your pull requests. It walks the queue case by case and takes your decision on each. It changes nothing itself — your own agent applies the decisions once you've hung up.

  • Interruptible — cut in and ask why
  • Decline it and ring back — same brief, same conversation
  • Hangs up when the queue is drained
  • Routes anything that genuinely needs your eyes

press

the daily paper · 06:00

A printable PDF in your inbox when you wake up. Almost all picture, almost no text. Built to be read with coffee, not skimmed on a phone.

  • One page per ticket in flight
  • Real screenshots of the surfaces they touch
  • A product map — what's growing, what's neglected
  • Scheduled to land at your wake-up time

rounds

It asks the questions. Your own agent does the work.

03:12 screenless call "$(claude -p 'brief me on tonight's PRs')" --at ✓ parked — calling +316······· at 07:00 · 14 PRs open, 6 need you 07:00 agent Morning. Six decisions, about nine minutes. First one: HYR2-441 adds a `notes` field to candidates. The agent put it in a JSONB column. Separate table or leave it? you What else reads it? agent Nothing yet. It's write-only from the intake form. you Leave it. Revisit when something queries it. agent Got it — JSONB stays, revisit on first read. Next: HYR2-448 changes the default page size from 25 to 100 — you Wait, why is that in a ticket about export? agent It isn't scoped there. Split it out, or leave it? you Split it, and hold the export PR until that's gone. ✓ 6 decisions · 8m41s · nothing changed yet 07:09 screenless transcript --json | claude -p "apply these" ✓ 4 merged · 1 split · 1 comment · 1 left for your eyes
Note where the work happens. The voice on the phone has no tools and no credentials — it collects decisions and hangs up. Your loop, on your machine, is what merges and comments, with the access you already gave it. And one decision couldn't be made by voice: it said so, instead of pressing you for an answer while you're walking the dog.

press

A newspaper about your own product, printed every night.

Not a changelog. The goal is that reading it makes you understand your product better than you did yesterday — the thing that quietly gets lost when agents write most of the code.

screenless hyre · 2026-08-15

Matching moved to the centre of the product this week

14
open PRs
6
need you
9
merged, 7d
63
commits, 7d
app/routes 184 app/components 142 app/lib 96 services
app/services is highlighted because it absorbed most of this week's change despite being a fifth the size of app/routes.

how it installs

It runs on your machine, in a nightly loop, through Claude Code.

That is the whole integration story. There is no OAuth app to approve and no integration matrix to wait for.

$ curl -fsSL https://screenless.sh/install | bash

One command, and it finishes the job: the CLI lands in ~/.screenless, then it asks for your number, texts you a code, and opens Stripe for the trial. Nothing is installed system-wide and nothing touches your Node setup — if Node 20+ isn't there, it says so and stops. Read it first if you'd rather: screenless.sh/install.

It calls at 08:00 by default; screenless settings --at 09:30 moves it. Your timezone is read from the machine you install on, so there is nothing to configure and travelling fixes itself. Decline the call and ring the number back whenever suits — it picks up the same brief, mid-morning or on the train.

01

Your MCPs are the integrations

Linear, GitHub, Slack, your ATS — whatever you've already connected, it can already read. Nothing new to grant.

02

Your browser is the camera

The paper's screenshots come from your real app in your real session, already logged in. A hosted service can't do that without credentials you shouldn't hand over.

03

Your subscription is the model

It runs on the Claude subscription you already pay for. Nothing is metered per token, and nothing leaves your machine but the call and the email.

price

One plan, priced against the hour it gives back.

$99
per month for the call · the paper is free
  • The daily paper is free — no card, no trial, install and it runs tonight
  • 7-day free trial on the call — card up front, cancel before day 8
  • Up to 30 minutes of call a day — it hangs up early when the queue is short
  • The daily paper, scheduled to your wake-up time
  • Unlimited repositories on one machine
  • Bring your own Claude subscription
Telephony is a real cost, not a rounding error, so the call is sold with a minute ceiling rather than as “unlimited.” We'd rather quote a number that survives contact with a heavy user.

Take tomorrow's call.

One command installs it, verifies your number, and asks when you want to be called. Seven days free.

$ curl -fsSL https://screenless.sh/install | bash

Early, and we'd rather say so: the telephony works, the paper renders, and the part that reads your pull requests is being built now. The trial is seven days precisely so you can find that out before you pay for it — screenless billing --manage cancels in one click.