Keryx

Delegate work from a phone call. Your agents call you back when they have questions.

Anything from building decks to writing code and running research experiments, done by the agents on your own machine. Open source and self-hosted.

$ curl -fsSL https://raw.githubusercontent.com/wak31415/keryx/main/install.sh | sh

Apache 2.0. Runs on your machine with your own keys. Works with Claude Code and Codex.

No session left waiting

Agents stop to ask things, and you usually find out hours later, back at the keyboard. With Keryx the question finds you. Your phone rings, you answer it, and the work carries on.

It calls with the question

When the work reaches a decision that's yours to make, Keryx calls, reads you the question and hands your answer straight back to the agent. Say it the way you would at the keyboard.

Approvals from the keypad

When a session on your desktop stops for permission and you're away, Keryx rings you after five minutes. Press 1 to approve. Speech alone can never approve anything. This works with Claude Code sessions today.

Nothing falls through

A result you haven't heard opens your next call, and stays there until it's been said out loud. Keryx remembers what you asked across calls, so “how's the sweep going?” just works.

On a call with Lyra 09:41

The call

    In the background

      Hand it the whole job

      Brief it the way you'd brief a colleague before you leave for the day. Lyra is the assistant on the line by default, and you can rename it.

      Get started

      About twenty minutes on a machine that stays on, such as a desktop or a home server where your projects live.

      1. Install Keryx

        One line installs the keryx command from PyPI, with both coding agents, in an environment of its own. You don't need Python, uv or a clone.

        $ curl -fsSL https://raw.githubusercontent.com/wak31415/keryx/main/install.sh | sh
      2. Answer the setup wizard

        The install opens it. It asks only for what's still missing: your OpenAI key, a coding agent, the Twilio number and tunnel, and a PIN. It saves as it goes, and its last step starts the background service. To pick it up again later:

        $ keryx setup
      3. Check the machine

        Doctor checks the whole setup and says what's missing or broken.

        $ keryx doctor
      4. Call your Twilio number

        The first call is a short introduction, so Lyra knows who you are. After that, every call starts with whatever you haven't heard yet.

      You'll need

      • Linux or macOS
      • An OpenAI API key for the voice
      • A Claude or ChatGPT plan, or an API key, for the agent
      • A Twilio phone number
      • A tunnel so Twilio can reach you: Cloudflare Tunnel on Linux, ngrok on macOS

      Setting it up with a coding agent? Point it at keryx setup --agent-instructions.

      To update, run keryx upgrade, or ask for an upgrade on a call.

      Working on Keryx itself? Set it up from a clone, and a call can change its code and restart onto it.

      Read the full setup guide

      Plugins, and tools of your own

      Turn on what you use with one command. Each call reads them afresh, so there's nothing to restart.

      Slack

      Written messages and full task reports in your Slack DM.

      send_to_slack

      Email

      Answers about your inbox in about five seconds, from a read-only Gmail sign-in.

      check_email

      Billing

      What the month has cost on OpenAI or Anthropic, and where it's heading.

      check_billing

      Cluster

      What's free on your Slurm clusters and whether your jobs are still running.

      cluster_stats

      $ keryx plugins install send_to_slack

      Anything else, ask for on a call. Keryx writes the tool to your own tools folder, outside the repository, and it's there on your next call.

      Roadmap

      What's shipped and what's next. The checklist for each version is in docs/roadmap.md.

      1. ShippedSep to Nov 2026
        0.1.0

        The first release: calls, tasks that outlive them, call-backs, memory across calls, and desktop permission prompts answered by phone.

        0.1.1

        Security and reliability fixes from an audit of 0.1.0.

        0.1.2

        Full task reports in Slack, and no call-back on top of a call you're already on.

        0.2.0

        A one-line install from PyPI, keryx upgrade, and upgrades you can ask for on a call.

      2. Thenv0.4.0

        Talk to it at your Mac

        Say a wake word and talk through the Mac's microphone and speaker, with no phone and no Twilio.

      Open source, and yours to run

      Your machine, your keys

      Keryx runs where your projects are, with your own OpenAI key and your coding agent's own sign-in. Transcripts and memory are plain files on your disk.

      A PIN before anything acts

      Caller ID can be spoofed, so starting work, changing settings or restarting waits for your PIN. Read the security model before you put it on a phone line.

      Apache 2.0

      2,905 tests and at least 96% coverage. Bug reports, fixes to the docs and code are all welcome.