A day plan for one-person businesses and the AI agents that work for them.

Tasks, a calendar and reminders on your phone, your Mac and your Linux desktop, offline first. Your agents add, plan and finish work over MCP or the command line, on a server you run yourself, and every change says who made it.

Free and open source under Apache-2.0. No account and no hosted service.

$ DAYHAND_API_KEY=$AGENT_KEY dayhand add "Draft the VAT reply" --due "today 16:00" --remind 30
Added:
  #3  [ ]  today 16:00  Draft the VAT reply
$ dayhand
Today, Sat 24 Oct 2026 (Europe/London)
OVERDUE (1)
  #1  [ ]  yesterday  Send the invoice to Anna  #work
TODAY
  #2  [ ]  14:00      Call the accountant       #admin
  #3  [ ]  16:00      Draft the VAT reply
An agent adds a task with its own key; you see it in Today.

What Dayhand does

One plan for the day, kept by you and by the agents you let in.

Dayhand for macOS showing Today on sample data: one overdue task, the task being worked on now with where it stopped, four tasks for today and quick add at the top
Dayhand for macOS, on sample data.

Today, wherever you are

The same plan on every screen you use, each one working offline and catching up when the server can be reached.

Android
Today, the week and day calendar, the board, task details with repeats, checklists and reminders. Starts without any server.
macOS
Today, quick add from the menu bar or a global shortcut, reminders and the morning summary.
Linux
A Qt 6 app with Today, a quick add window for a key binding, a tray icon and desktop notifications. Follows Omarchy themes.
Terminal
dayhand ui shows Today, the board, the week and the trash full screen, with vim-style keys, in your terminal's colours.

The apps and dayhand ui speak English, Polish, German, Spanish, French, Brazilian Portuguese, Japanese and Simplified Chinese.

Built for agents, with you in charge

Any MCP client or any agent that runs commands can work on the plan. Here is one task from start to finish.

  1. Give the agent its own key

    Each agent gets a key with a scope. Its changes are signed with its name, and you can revoke the key at any time.

  2. Connect it

    The server speaks MCP at /mcp. The dayhand command line does the same, and with --json it prints exactly what the MCP tools return.

  3. Claim, work, prove

    The agent claims the task so other agents leave it alone, marks the criteria it met and finishes with a summary and checks.

  4. You review and decide

    Answer approval requests on the phone, accept or reject proposed work in an inbox, or pause every agent with one switch.

AGENT_KEY=$(dayhand key create claude --scope write --json | jq -r .key)
claude mcp add --transport http dayhand http://127.0.0.1:3211/mcp --header "Authorization: Bearer $AGENT_KEY"

TASK_ID=$(dayhand add "Send the Q4 invoices" --due "today 17:00" --accept "One PDF per client" --plan "Export, then check the totals" --json | jq -er .id)
DAYHAND_API_KEY=$AGENT_KEY dayhand claim "$TASK_ID" --minutes 30
DAYHAND_API_KEY=$AGENT_KEY dayhand criteria "$TASK_ID" --met all
DAYHAND_API_KEY=$AGENT_KEY dayhand done "$TASK_ID" --summary "3 PDFs sent" --check totals=pass
dayhand log --by agent
For a local server on macOS or Linux, with jq and Claude Code installed.

Dayhand records your decisions and the agents' work in the plan. It cannot stop what an agent does outside Dayhand.

Install

No release is published yet. Everything below builds from the source today; the rest is marked as coming soon.

  1. Build the command line

    You need Node.js 22.12 or newer and git. npm link puts dayhand and its short name dh on your PATH.

    git clone https://github.com/maiarowsky/helm.git dayhand
    cd dayhand/cli && npm ci --ignore-scripts && npm run build && npm link && cd ..
  2. Start a local server (macOS and Linux only)

    The first run downloads the Convex local backend once, signs dayhand in and prints a pairing code for the phone.

    dayhand server start

    On Windows, use dayhand server deploy instead to set up a server on your own Convex account. It also signs dayhand in and prints a pairing code; see the deployment guide.

  3. Plan your day

    In a second terminal in the same folder:

    dayhand add "Call the accountant" --due "today 14:00" -l admin
    dayhand

Apps

Run these from the folder you cloned in step 1. There is no iPhone app yet.

Your plan stays on your server

Dayhand has no shared server to sign up for, and the apps have no built-in server address.

The Android app has no analytics, no crash reporting and no other outside services. This site sets no cookies and loads nothing from other servers.

Open source

Dayhand is licensed under the Apache License 2.0. The code, the apps and the documentation live in one repository: github.com/maiarowsky/helm.

Contributions are accepted under the Developer Certificate of Origin (how to contribute). Security problems go privately, never in an issue (security policy).

The Convex local backend that dayhand server start downloads on macOS and Linux is source-available under FSL-1.1-Apache-2.0, at a pinned version with a verified checksum.

Questions

Is there a hosted version or an account to create?

No. You run the server yourself, on your computer or on your own Convex account, or use the apps with no server. Dayhand is a personal project with no hosted service.

What does it cost?

Dayhand is free. A server on your computer costs nothing, and so does Convex's Free plan; its limits are in the deployment guide.

Which agents can use it?

Any MCP client, with the server address and an Authorization: Bearer header; Claude Code is one command. The Claude apps connect as a custom connector with OAuth, which you approve on the phone. Agents that run shell commands can use dayhand, and a ready Agent Skill teaches them how.

Can an agent do something I did not allow?

Inside Dayhand, a policy per agent key allows, asks for or denies each tool, risky steps wait for your answer, and one switch pauses every agent. Dayhand cannot stop what an agent does outside Dayhand.

Does it work offline?

Yes. The Android, macOS and Linux apps keep the plan on the device and send changes to the server, in order, when it can be reached.

Can I see my tasks in Google Calendar?

Yes, through a read-only calendar feed that any calendar app can subscribe to. Changes are made in Dayhand.

Is there an app for iPhone or Windows?

Not yet. The iPhone app is not started. On Windows, the dayhand command line works with a server on your own Convex account via dayhand server deploy; there is no desktop app.

Why is the repository called helm?

Dayhand was called Helm until backend 0.9.0 and CLI 0.10.0. The old hlm command still works with a warning; what changed.

Plan the day with a spare pair of hands.